Systems and methods for personalizing accessibility changes across multiple browsing sessions

ABSTRACT

Disability-related changes in website presentations may be made across multiple browsing sessions through the use of an accessibility profile selection request that differs from default display parameters. The method may include during a first website browsing session, receiving a web accessibility profile selection associated with a particular disability; based on the web accessibility profile selection, changing the default values for the display parameters to the disability profile values, causing the website to be accessible to a user with the particular disability; storing in memory in association with the user, the web accessibility profile selection; during a second website browsing session of the user, performing a lookup in the memory of the web accessibility profile selection of the user; and applying the web accessibility profile selection during the second website browsing session, causing the second website browsing session to be accessible to the user with the particular disability.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims benefit of priority of U.S.Provisional Patent Application No. 63/187,425, filed May 12, 2021, U.S.Provisional Patent Application No. 63/187,426, filed May 12, 2021, U.S.Provisional Patent Application No. 63/187,427, filed May 12, 2021, U.S.Provisional Patent Application No. 63/187,428, filed May 12, 2021, U.S.Provisional Patent Application No. 63/187,429, filed May 12, 2021, U.S.Provisional Patent Application No. 63/187,431, filed May 12, 2021, U.S.Provisional Patent Application No. 63/189,166, filed May 16, 2021, U.S.Provisional Patent Application No. 63/196,253, filed Jun. 3, 2021, andU.S. Provisional Patent Application No. 63/231,761, filed Aug. 11, 2021,the contents of all of which are incorporated herein by reference intheir entireties.

TECHNICAL FIELD

The present disclosure relates generally to systems, methods, andcomputer-readable media for altering website presentations. Morespecifically, the disclosed systems, methods, and computer-readablemedia relates to altering website presentations to make them accessiblefor people with disabilities.

BACKGROUND

In a world striving for inclusivity regardless of abilities ordisabilities, it is valuable for the internet to serve all people,whatever their hardware, software, language, location, or ability. Thisway, all people can exercise and enjoy their rights to freedom ofexpression and other fundamental human rights. Accordingly, websites andweb tools should be properly designed and coded, so that people withdisabilities can use them. Currently, many websites and web tools aredeveloped with accessibility barriers that make them difficult orimpossible for some to use. Making the web accessible benefitsindividuals, businesses, and society as a whole. International webstandards define what is needed for accessibility. An example webstandard is the Web Content Accessibility Guidelines (WCAG) 2.1, whichis incorporated herein by reference.

Aspects of this disclosure describe providing web accessibility forpeople with disabilities using an accessibility graphical user interface(GUI) incorporated within websites. In particular, various embodimentsof this disclosure improve the functionality of computers by increasingweb accessibility and improving computing processes in prior systemsthrough unconventional functionalities of GUIs. Further, variousembodiments of this disclosure may allow for the selection of a specificweb accessibility profile that addresses a particular disability of auser.

SUMMARY

Embodiments consistent with the present disclosure provide systems,methods, and non-transitory computer-readable storage media for alteringwebsite presentations to make the websites accessible.

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for enabling users to alterwebsite presentations based on selected web accessibility profiles.These embodiments may involve displaying an accessibility graphical userinterface (GUI) for a website, wherein the accessibility GUI includes aplurality of web accessibility profiles associated with differingdisabilities; receiving a selection of one of the plurality of webaccessibility profiles; identifying a first predefined adjustment to afirst website display parameter associated with the selected webaccessibility profile; initiating a first change in the first websitedisplay parameter based on the identified first predefined adjustment tothereby address a first aspect of the disability associated with theselected web accessibility profile; identifying a second predefinedadjustment to a second website display parameter associated with theselected web accessibility profile; initiating a second change in thesecond website display parameter based on the identified secondpredefined adjustment to thereby address a second aspect of thedisability associated with the selected web accessibility profile; andwherein initiating the first change and the second change is configuredto transform a presentation of the website to conform with needs of auser having the disability associated with the selected webaccessibility profile.

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for enabling users to switchbetween web accessibility profiles. These embodiments may involvereceiving a command to open an accessibility graphical user-interface(GUI) for a website , wherein the website is associated with a set ofdisplay parameter having initial values; displaying the accessibilityGUI for the website, wherein the accessibility GUI includes indicationsof a plurality of web accessibility profiles, each web accessibilityprofile being associated with a differing disability; receiving a firstinput via the accessibility GUI indicative of a selection of a specificweb accessibility profile associated with a specific disability; basedon the first input, implementing a first website display changecorresponding to the specific accessibility profile, wherein the firstwebsite display change alters a plurality of the initial values of theset of display parameters to address the specific disability; receivinga second input via the accessibility GUI; and based on the second input,implementing a second website display change, wherein the second websitedisplay change causes an adjustment to the altered values of the set ofdisplay parameters.

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for causing disability-relatedchanges in website presentations across multiple browsing sessions.These embodiments may involve during a first website browsing sessionhaving an associated set of default values for display parameters,receiving a web accessibility profile selection associated with aparticular disability, the web accessibility profile selection having anassociated set of disability profile values for the display parameters,the disability profile values differing from the default values; basedon the web accessibility profile selection, changing the default valuesfor the display parameters to the disability profile values to therebycause, during the first website browsing session, the website to beaccessible to a user with the particular disability; causing to bestored in memory in association with the user, the web accessibilityprofile selection; during a second website browsing session of the user,performing a lookup in memory of the web accessibility profile selectionof the user; and applying the web accessibility profile selection duringthe second website browsing session to thereby cause the second websitebrowsing session to be accessible to the user with the particulardisability.

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for enabling a user to customizea web accessibility profile. These embodiments may involve displaying anaccessibility graphical user interface (GUI) for modifying a pluralityof display parameters of a website, wherein the accessibility GUIpresents a plurality of web accessibility profiles associated withdiffering disabilities; receiving initial input via the accessibilityGUI indicative of a selection of a specific web accessibility profile;based on the initial input, implementing a plurality of predefinedchanges in a group of display parameters of the website to address adisability associated with the specific web accessibility profile;presenting via the accessibility GUI, information indicative of theplurality of implemented changes in the plurality of display parametersassociated with the specific web accessibility profile; receivingadditional input via the accessibility GUI, indicative of a selection ofat least one alteration to at least one of the plurality of predefinedchanges; and in response to the additional input, overriding at leastone of the plurality of predefined changes to thereby enablecustomization of the selected web accessibility profile.

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for altering default websitedisplay parameters to conform with an epilepsy-safe profile. Theseembodiments may involve obtaining an indication that a user of a websitehas epilepsy; and based on the obtained indication, implementing apredefined template to alter multiple website default display parametersto conform with needs of the epileptic user, wherein implementing thepredefined template includes: executing a stop animation command inwebsite code on a user session basis to limit movement on a display; andadjusting a value of at least one web display parameter; whereinexecuting the stop animation command and adjusting the value of the atleast one web display parameter is configured to impact presentation ofcontent on a computing device of the user with the epileptic disabilitywithout impacting presentation of content on other computing devices ofother simultaneous viewers of the website.

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for altering default websitedisplay parameters to conform with a visual impairment profile. Theseembodiments may involve obtaining an indication that a user of a websiteis visually impaired; and based on the obtained indication, implementinga predefined template to alter multiple default website displayparameters to conform with needs of the visually impaired user, whereinimplementing the predefined template includes at least two of: adjustinga content scaling parameter in website code on a user session basis toincrease content scaling; adjusting a font type parameter in the websitecode on a user session basis to cause a readability increase; adjustinga saturation parameter in the website code on a user session basis toincrease display intensity; adjusting a font size parameter in thewebsite code on a user session basis to increase font scaling; adjustinga line height parameter in the website code on a user session basis toincrease spaces between text lines; adjusting a letter spacing parameterin the website code on a user session basis to increase spaces betweenletters text; and adjusting a text color parameter in the website codeon a user session basis to increase a contrast between text andbackground; wherein implementing the predefined template is configuredto impact presentation of content on a computing device of the visuallyimpaired user without impacting presentation of content on othercomputing devices of other simultaneous users of the website,

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for altering default websitedisplay parameters to conform with a cognitive disability profile. Theseembodiments may involve obtaining an indication that a user of a websitehas a cognitive disability; and based on the obtained indication,implementing a predefined template to alter multiple website defaultdisplay parameters to conform with needs of the cognitively disableduser, wherein implementing the predefined template includes at least twoof: executing a highlighting titles command in website code on a usersession basis to highlight titles depicted on the website; executing ahighlighting actionable objects command in website code on a usersession basis to highlight actionable objects depicted on the website;adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling; and executing a stop animationcommand in website code on a user session basis to limit movement on adisplay; wherein implementing the predefined template is configured toimpact presentation of content on a computing device of the user withthe cognitive disability without impacting on other computing devicesdisplay to other simultaneous viewers of the website.

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for alternating default displayparameters to conform with a neurodevelopmental disorder profile. Theseembodiments may involve obtaining an indication that a user of a websitehas a neurodevelopmental disorder; and based on the obtained indication,implementing a predefined template to alter multiple website defaultdisplay parameters to conform with needs of the user with theneurodevelopmental disorder, wherein the predefined template includes:adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling; executing a stop animation command inthe website code on a user session basis to limit movement on a display;and at least one of: adjusting a saturation parameter in the websitecode on a user session basis to increase display intensity; adjusting afont type parameter in the website code on a user session basis to causea readability increase; adjusting a font size parameter in the websitecode on a user session basis to modify font scaling; adjusting a lineheight parameter in the website code on a user session basis to increasespaces between text lines; adjusting a letter spacing parameter in thewebsite code on a user session basis to modify spaces between letterstext; and adjusting text color parameter in the website code on a usersession basis to modify a contrast between text and background; whereinimplementing the predefined template is configured to impactpresentation of content on a computing device of the user with theneurodevelopmental disorder without impacting presentation of content onother computing devices of other simultaneous viewers of the website.

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for altering website code toconform with a screen reader profile. These embodiments may involveobtaining an indication of screen reader usage to navigate and consumewebsite content on a specific device; and based on the obtainedindication, implementing a predefined template to make multiple changesto the website code to conform with accessibility needs, whereinimplementing the predefined template includes: identifying in thewebsite code a plurality of elements corresponding to multiple objectsdisplayed on the website; determining accessibility information for atleast some of the multiple objects displayed on the website; andupdating the website code based on the determined accessibilityinformation; wherein updating the website code changes an audiblepresentation of the website via the screen reader on the specific devicewithout impacting simultaneous display of the website content on othercomputing devices.

Some disclosed embodiments may include systems, methods andnon-transitory computer readable media for providing search results toclient-side computing devices. These embodiments may involve receivinginformation categorizing a plurality of websites; storing in at leastone data structure the information categorizing the plurality ofwebsites; receiving information indicating a level of accessibility foreach of the plurality of websites; storing in the at least one datastructure the information indicating the level of accessibility;receiving a search query from a particular client-side computing device;performing a look up in the data structure for websites associated withthe search query; and presenting on the particular client-side computingdevice website search results, wherein the website search resultsinclude links to websites matching the search query and wherein thewebsite search results are presented in a preferential manner that takesinto account the level of accessibility of the plurality of websites.

The foregoing summary and the following detailed description areexemplary and explanatory only and are not restrictive of the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of his disclosure, illustrate various disclosed embodiments. In thedrawings:

FIG. 1 is a block diagram illustrating a system that enables users topersonalize the presentation of websites to address accessibility needs,consistent with some embodiments of the present disclosure.

FIG. 2 is a block diagram of exemplary computing device and exemplaryserver, consistent with some embodiments of the present disclosure.

FIG. 3 is a flowchart of an example process for making a websiteaccessible and maintaining its accessibility, consistent with someembodiments of the present disclosure.

FIGS. 4A and 4B are exemplary illustrations of a website code revisionfor making a website accessible, consistent with some embodiments of thepresent disclosure.

FIG. 5 illustrates an exemplary plurality of web accessibility profiles,consistent with some embodiments of the present disclosure.

FIG. 6 illustrates an exemplary display of an accessibility graphicaluser interface for a website, consistent with some embodiments of thepresent disclosure.

FIG. 7 illustrates an exemplary transformation of a display of awebsite, consistent with some embodiments of the present disclosure.

FIG. 8 illustrates an exemplary method for enabling users to alterwebsite presentations based on selected web accessibility profiles,consistent with some embodiments of the present disclosure.

FIG. 9 illustrates a block diagram of an example process 900 forenabling users to switch between web accessibility profiles, consistentwith disclosed embodiments.

FIGS. 10A-10C, together, illustrates an exemplary implementation for atleast one processor implementing a first and second website displaychange altering a plurality of initial values of a set of displayparameters to address a specific disability, consistent with disclosedembodiments.

FIG. 11 illustrates an exemplary implementation for at least oneprocessor implementing a website display change altering a plurality ofinitial values of a set of display parameters to address anotherspecific disability, consistent with disclosed embodiments.

FIG. 12 illustrates a block diagram of an example process for enablingusers to switch between web accessibility profiles, consistent withdisclosed embodiments.

FIG. 13 illustrates an exemplary timeline consistent with some disclosedembodiments.

FIG. 14 is an exemplary screen shot of a first browsing sessionconsistent with some disclosed embodiments.

FIG. 15 is an exemplary screen shot of a second browsing session,consistent with some disclosed embodiments.

FIG. 16 is a flowchart illustrating an exemplary method of selecting anaccessibility profile in a first browsing session and storing the user'spreferences across subsequent browsing sessions consistent with somedisclosed embodiments.

FIG. 17 illustrates an exemplary accessibility GUI displayed alongside awebsite, consistent with some embodiments of the present disclosure.

FIG. 18 illustrates the exemplary accessibility GUI of FIG. 17 after auser has selected one of a plurality of web accessibility profiles,consistent with some embodiments of the present disclosure.

FIG. 19 illustrates the exemplary accessibility GUI of FIG. 18 after auser has selected to make an alteration to one of the predefinedchanges, consistent with some embodiments of the present disclosure.

FIG. 20A illustrates a block diagram of an example process for enablinga user to customize a web accessibility profile via an exemplary contentadjustments box, consistent with embodiments of the present disclosure.

FIG. 20B illustrates another exemplary accessibility GUI, consistentwith embodiments of the present disclosure.

FIG. 21 is an example of a website presented with default websitedisplay parameters, consistent with some embodiments of the presentdisclosure.

FIG. 22 is an example of a website presented with website displayparameters corresponding to an epilepsy-safe profile, consistent withsome embodiments of the present disclosure.

FIG. 23 illustrates a flowchart of alternative responses to a secondinput from an epileptic user, consistent with some embodiments of thepresent disclosure.

FIG. 24A illustrates a flowchart of a method for altering defaultwebsite display parameters to conform with an epilepsy-safe profile,consistent with some embodiments of the present disclosure.

FIG. 24B illustrates a flowchart of an exemplary method of implementingthe predefined template for an epileptic user, consistent with someembodiments of the present disclosure.

FIG. 25 is an exemplary screenshot of a website presented with websitedisplay parameters corresponding to a visual impairment profile,consistent with some embodiments of the present disclosure.

FIG. 26 illustrates a flowchart of alternative responses to a secondinput from the visually impaired user, consistent with some embodimentsof the present disclosure.

FIG. 27A illustrates a flowchart of a method for altering websitedefault display parameters to conform with a visual impairment profile,consistent with some embodiments of the present disclosure.

FIG. 27B illustrates a flowchart of an exemplary method of implementingthe predefined template for a visually impaired user.

FIG. 28 is an example of a website presented with website displayparameters corresponding to a cognitive display profile, consistent withsome embodiments of the present disclosure.

FIG. 29 illustrates a flowchart of alternative responses to a secondinput from the cognitively disabled user, consistent with someembodiments of the present disclosure.

FIG. 30A illustrates a flowchart of a method for altering websitedefault display parameters to conform with a cognitive disabilityprofile, consistent with some embodiments of the present disclosure.

FIG. 30B illustrates a flowchart of an exemplary method of implementingthe predefined template for a cognitively disabled user.

FIG. 31 is an example of a website presented with website displayparameters corresponding to a neurodevelopmental disorder profile,consistent with some embodiments of the present disclosure.

FIG. 32 illustrates a flowchart of alternative responses to a secondinput from a user with the neurodevelopmental disorder, consistent withsome embodiments of the present disclosure.

FIG. 33A illustrates a flowchart of a method for altering websitedefault display parameters to conform with a neurodevelopmental disorderprofile, consistent with some embodiments of the present disclosure.

FIG. 33B illustrates a flowchart of an exemplary method of implementingthe predefined template for a user with the neurodevelopmental disorder.

FIG. 34 illustrates an exemplary accessibility GUI displayed alongside awebsite, consistent with some embodiments of the present disclosure.

FIG. 35A illustrates an exemplary portion of website code for thewebsite of FIG. 34, consistent with some embodiments of the presentdisclosure.

FIG. 35B illustrates an exemplary updated portion of website code forthe website of FIG. 34 after altering the website code to conform with ascreen reader profile, consistent with some embodiments of the presentdisclosure.

FIG. 36A illustrates a flowchart of a method for altering website codeto conform with a screen reader profile, consistent with someembodiments of the present disclosure.

FIG. 36B illustrates a flowchart of an exemplary method of implementingthe predefined template for a screen reader profile.

FIG. 37 illustrates an example of a visually impaired user performing asearch query and an accessible website being displayed to the user,consistent with some embodiments of the present disclosure.

FIG. 38 illustrates an example of website search results with an inputoption for a user to indicate that the user has a particular disability,consistent with some embodiments of the present disclosure.

FIG. 39 illustrates a flow chart of an exemplary method that may beexecuted by a processor to perform operations for sharing virtualcontent.

DETAILED DESCRIPTION

Exemplary embodiments are described with reference to the accompanyingdrawings. The figures are not necessarily drawn to scale. While examplesand features of disclosed principles are described herein,modifications, adaptations, and other implementations are possiblewithout departing from the spirit and scope of the disclosedembodiments. Also, the words “comprising,” “having,” “containing,”“including,” and other similar forms are intended to be equivalent inmeaning and be open ended in that an item or items following any one ofthese words is not meant to be an exhaustive listing of such item oritems, or meant to be limited to only the listed item or items. Itshould also be noted that, as used herein and in the appended claims,the singular forms “a,” “an,” and “the” include plural references unlessthe context clearly dictates otherwise. Moreover, the relational termsherein such as “first” and “second” are used only to differentiate anentity or operation from another entity or operation, and do not requireor imply any actual relationship or sequence between these entities oroperations.

As used herein, unless specifically stated otherwise, the term “or”encompasses all possible combinations, except where infeasible. Forexample, if it is stated that a component can include A or B, then,unless specifically stated otherwise or infeasible, the component caninclude A or B, or A and B. As a second example, if it is stated that acomponent can include at least one of A, B, or C, then, unlessspecifically stated otherwise or infeasible, the component can includeA, B, or C, or A and B, or A and C, or B and C, or A, B, and C.

This disclosure employs open-ended permissive language, indicating forexample, that some embodiments “may” employ, involve, or includespecific features. The use of the term “may”, and other open-endedterminology is intended to indicate that although not every embodimentmay employ the specific disclosed feature, at least one embodimentemploys the specific disclosed feature.

In the following description, various working examples are provided forillustrative purposes. However, is to be understood the presentdisclosure may be practiced without one or more of these details.Reference will now be made in detail to non-limiting examples of thisdisclosure, examples of which are illustrated in the accompanyingdrawings. The examples are described below by referring to the drawings,wherein like reference numerals refer to like elements. When similarreference numerals are shown, corresponding description(s) are notrepeated, and the interested reader is referred to the previouslydiscussed figure(s) for a description of the like element(s).

Various embodiments are described herein with reference to a system,method, device, or computer-readable medium. It is intended that thedisclosure of one is a disclosure of all. For example, it is to beunderstood that disclosure of a computer-readable medium describedherein also constitutes a disclosure of methods implemented by thecomputer-readable medium, and systems and devices for implementing thosemethods, via, for example, at least one processor. It is to beunderstood that this form of disclosure is for ease of discussion only,and one or more aspects of one embodiment herein may be combined withone or more aspects of other embodiments herein, within the intendedscope of this disclosure.

Embodiments described herein may refer to a non-transitorycomputer-readable medium containing instructions that, when executed byat least one processor, cause the at least one processor to performoperations for executing a web accessibility method. Non-transitorycomputer-readable media may include any medium capable of storing datain any memory in a way that may be read by any computing device with aprocessor to carry out methods or any other instructions stored in thememory. The non-transitory computer-readable medium may be implementedas hardware, firmware, software, or any combination thereof. Moreover,the software may preferably be implemented as an application programtangibly embodied on a program storage unit or computer-readable mediumconsisting of parts, or of certain devices or a combination of devices.The application program may be uploaded to, and executed by, a machinehaving any suitable architecture. Preferably, the machine may beimplemented on a computer platform having hardware such as one or morecentral processing units (“CPUs”), a memory, and input/outputinterfaces. The computer platform may also include an operating systemand microinstruction code. The various processes and functions describedin this disclosure may be either part of the microinstruction code orpart of the application program or any combination thereof which may beexecuted by a CPU, whether or not such a computer or processor isexplicitly described. In addition, various other peripheral units may beconnected to the computer platform, such as an additional data storageunit and a printing unit. Furthermore, a non-transitorycomputer-readable medium may be any computer-readable medium except fora transitory propagating signal.

Some disclosed embodiments may involve “at least one processor”, whichmay include any physical device or group of devices having electriccircuitry that performs a logic operation on an input or on inputs. Forexample, the at least one processor may include one or more integratedcircuits (IC), including application-specific integrated circuit (ASIC),microchips, microcontrollers, microprocessors, all or part of a centralprocessing unit (CPU), graphics processing unit (GPU), digital signalprocessor (DSP), field-programmable gate array (FPGA), server, virtualserver, or other circuits suitable for executing instructions orperforming logic operations. The instructions executed by at least oneprocessor may, for example, be pre-loaded into a memory integrated withor embedded into the controller or may be stored in a separate memory.The term memory as used in this context and other contexts may include aRandom Access Memory (RAM), a Read-Only Memory (ROM), a hard disk, anoptical disk, a magnetic medium, a flash memory, other permanent, fixed,or volatile memory, or any other mechanism capable of storinginstructions. Memory may include one or more separate storage devicescollocated or disbursed, capable of storing data structures,instructions, or any other data. Memory may further include a memoryportion containing instructions for the processor to execute. The memorymay also be used as a working scratch pad for the processors or as atemporary storage

In some embodiments, the at least one processor may include more thanone processor. Each processor may have a similar construction, or theprocessors may be of differing constructions that are electricallyconnected or disconnected from each other. For example, the processorsmay be separate circuits or integrated in a single circuit. When morethan one processor is used, the processors may be configured to operateindependently or collaboratively and may be co-located or locatedremotely from each other. The processors may be coupled electrically,magnetically, optically, acoustically, mechanically or by other meansthat permit them to interact.

Disclosed embodiments may include and/or access a data structure. A datastructure consistent with the present disclosure may include anycollection of data values and relationships among them. The data may bestored linearly, horizontally, hierarchically, relationally,non-relationally, uni-dimensionally, multidimensionally, operationally,in an ordered manner, in an unordered manner, in an object-orientedmanner, in a centralized manner, in a decentralized manner, in adistributed manner, in a custom manner, or in any manner enabling dataaccess. By way of non-limiting examples, data structures may include anarray, an associative array, a linked list, a binary tree, a balancedtree, a heap, a stack, a queue, a set, a hash table, a record, a taggedunion, ER model, and a graph. For example, a data structure may includean XML database, an RDBMS database, an SQL database or NoSQLalternatives for data storage/search such as, for example, MongoDB,Redis, Couchbase, Datastax Enterprise Graph, Elastic Search, Splunk,Solr, Cassandra, Amazon DynamoDB, Scylla, HBase, and Neo4J. A datastructure may be a component of the disclosed system or a remotecomputing component (e.g., a cloud-based data structure). Data in thedata structure may be stored in contiguous or non-contiguous memory.Moreover, a data structure, as used herein, does not require informationto be co-located. It may be distributed across multiple servers, forexample, a data structure may be owned or operated by the same ordifferent entities. Thus, the term “data structure” as used herein inthe singular is inclusive of plural data structures.

Some embodiments disclosed herein may involve a network. A network mayinclude any type of physical or wireless computer networking arrangementused to exchange data. For example, a network may be the Internet, aprivate data network, a virtual private network using a public network,a Wi-Fi network, a LAN or WAN network, a combination of one or more ofthe forgoing, and/or other suitable connections that may enableinformation exchange among various components of the system. In someembodiments, a network may include one or more physical links used toexchange data, such as Ethernet, coaxial cables, twisted pair cables,fiber optics, or any other suitable physical medium for exchanging data.A network may also include a public switched telephone network (“PSTN”)and/or a wireless cellular network. A network may be a secured networkor unsecured network. In other embodiments, one or more components ofthe system may communicate directly through a dedicated communicationnetwork. Direct communications may use any suitable technologies,including, for example, BLUETOOTH™, BLUETOOTH LE™ (BLE), Wi-Fi, nearfield communications (NFC), or other suitable communication methods thatprovide a medium for exchanging data and/or information between separateentities.

In connection with some embodiments, machine learning/artificialintelligence models may be trained using training examples. The modelsmay employ learning algorithms. Some non-limiting examples of suchlearning algorithms may include classification algorithms, dataregressions algorithms, image segmentation algorithms, visual detectionalgorithms (such as object detectors, face detectors, person detectors,motion detectors, edge detectors, etc.), visual recognition algorithms(such as face recognition, person recognition, object recognition,etc.), speech recognition algorithms, mathematical embedding algorithms,natural language processing algorithms, support vector machines, randomforests, nearest neighbors algorithms, deep learning algorithms,artificial neural network algorithms, convolutional neural networkalgorithms, recursive neural network algorithms, linear machine learningmodels, non-linear machine learning models, ensemble algorithms, and soforth. For example, a trained machine learning algorithm may include aninference model, such as a predictive model, a classification model, aregression model, a clustering model, a segmentation model, anartificial neural network (such as a deep neural network, aconvolutional neural network, a recursive neural network, etc.), arandom forest, a support vector machine, and so forth. In some examples,the training examples may include example inputs together with thedesired outputs corresponding to the example inputs. Further, in someexamples, training machine learning algorithms using the trainingexamples may generate a trained machine learning algorithm, and thetrained machine learning algorithm may be used to estimate outputs forinputs not included in the training examples. In some examples,engineers, scientists, processes and machines that train machinelearning algorithms may further use validation examples and/or testexamples. For example, validation examples and/or test examples mayinclude example inputs together with the desired outputs correspondingto the example inputs, a trained machine learning algorithm and/or anintermediately trained machine learning algorithm may be used toestimate outputs for the example inputs of the validation examplesand/or test examples, the estimated outputs may be compared to thecorresponding desired outputs, and the trained machine learningalgorithm and/or the intermediately trained machine learning algorithmmay be evaluated based on a result of the comparison. In some examples,a machine learning algorithm may have parameters and hyper parameters,where the hyper parameters are set manually by a person or automaticallyby a process external to the machine learning algorithm (such as a hyperparameter search algorithm), and the parameters of the machine learningalgorithm are set by the machine learning algorithm according to thetraining examples. In some implementations, the hyper-parameters are setaccording to the training examples and the validation examples, and theparameters are set according to the training examples and the selectedhyper-parameters.

In some examples, a trained machine learning algorithm may be used as aninference model that when provided with an input generates an inferredoutput. For example, a trained machine learning algorithm may include aclassification algorithm, the input may include a sample, and theinferred output may include a classification of the sample (such as aninferred label, an inferred tag, and so forth). In another example, atrained machine learning algorithm may include a regression model, theinput may include a sample, and the inferred output may include aninferred value for the sample. In yet another example, a trained machinelearning algorithm may include a clustering model, the input may includea sample, and the inferred output may include an assignment of thesample to at least one cluster. In an additional example, a trainedmachine learning algorithm may include a classification algorithm, theinput may include an image, and the inferred output may include aclassification of an item depicted in the image. In yet another example,a trained machine learning algorithm may include a regression model, theinput may include an image, and the inferred output may include aninferred value for an item depicted in the image (such as an estimatedproperty of the item, such as size, volume, age of a person depicted inthe image, cost of a product depicted in the image, and so forth). In anadditional example, a trained machine learning algorithm may include animage segmentation model, the input may include an image, and theinferred output may include a segmentation of the image. In yet anotherexample, a trained machine learning algorithm may include an objectdetector, the input may include an image, and the inferred output mayinclude one or more detected objects in the image and/or one or morelocations of objects within the image. In some examples, the trainedmachine learning algorithm may include one or more formulas and/or oneor more functions and/or one or more rules and/or one or moreprocedures, the input may be used as input to the formulas and/orfunctions and/or rules and/or procedures, and the inferred output may bebased on the outputs of the formulas and/or functions and/or rulesand/or procedures (for example, selecting one of the outputs of theformulas and/or functions and/or rules and/or procedures, using astatistical measure of the outputs of the formulas and/or functionsand/or rules and/or procedures, and so forth).

In some embodiments, artificial neural networks may be configured toanalyze inputs and generate corresponding outputs. Some non-limitingexamples of such artificial neural networks may include shallowartificial neural networks, deep artificial neural networks, feedbackartificial neural networks, feed forward artificial neural networks,autoencoder artificial neural networks, probabilistic artificial neuralnetworks, time delay artificial neural networks, convolutionalartificial neural networks, recurrent artificial neural networks,long/short term memory artificial neural networks, and so forth. In someexamples, an artificial neural network may be configured manually. Forexample, a structure of the artificial neural network may be selectedmanually, a type of an artificial neuron of the artificial neuralnetwork may be selected manually, a parameter of the artificial neuralnetwork (such as a parameter of an artificial neuron of the artificialneural network) may be selected manually, and so forth. In someexamples, an artificial neural network may be configured using a machinelearning algorithm. For example, a user may select hyper-parameters forthe artificial neural network and/or the machine learning algorithm, andthe machine learning algorithm may use the hyper-parameters and trainingexamples to determine the parameters of the artificial neural network,for example using back propagation, using gradient descent, usingstochastic gradient descent, using mini-batch gradient descent, and soforth. In some examples, an artificial neural network may be createdfrom two or more other artificial neural networks by combining the twoor more other artificial neural networks into a single artificial neuralnetwork.

Disclosed embodiments may involve altering a display of a website toaddress disabilities of users. The term website may refer to any public,private, or semi-private web property including a collection of contentto be presented to the public or to a limited audience. The webproperties may be provided to users via one or more servers thatimplements the basic World Wide Web standards for the coding andtransmission of HTML data. It will be understood to one skilled in theart that the web properties may be stored in a single server associatedwith a single geographic or a physical location but may also be storedin multiple geographically distributed servers that may beinterconnected via one or more communications systems. Examples of suchweb properties include web sites, mobile websites, web pages within alarger website (e.g., profile pages on a social networking website,ecommerce product pages, etc.), vertical information portals,distributed applications, and other digital data sources accessible byany device via a wired or wireless network connection, including RSSfeeds, blogs and vlogs, electronic newsletters, or blast emails.

Embodiments disclosed herein may include displaying a website exhibitingvarious website display parameters. The website display parameters orsimply display parameters) may include properties whose values provideconstraints on a presentation of a website or a webpage on a screenassociated with a computing device of the user. Examples of websitedisplay parameters may include content scaling, readable font, highlighttitles, highlight links, text magnifier, font size, line height, letterspacing, align center, align left, align right, contrast, monochrome,saturation, text colors, title colors, background color, mute sounds,hide images, read mode, reading guide, stop animation, highlight hover,and cursor appearance. Consistent with the present disclosure, a websitemay have an associated set of default values for the display parameters.The set of default values for the display parameters may be defined in acode associated with the website. For example, the set of default valuesmay indicate that a first title on the website has a font size of 14 ptand a second title on the website has a font size of 18 pt. Inadditional embodiments, a website may include a plurality of sets ofdefault values for the display parameters for the same content. Aselection of one of the plurality of sets of default values may dependon the type of computing device used for displaying the website. Forexample, the first title on the website may have a font size of 14 ptwhen displayed on desktop computers and font size of 8 pt when displayedon mobile devices, such as, smartphones.

Disclosed embodiments may include implementing one or more changes inweb display parameters to address a disability of a user. Consistentwith the present disclosure, implementing changes in a web displayparameter may include modifying values of that website display parameterin the website code. For example, in order to address a visualimpairment of a user, the font size of all the titles on the website maybe changed from a font size of 14 pt to a font size of 22 pt. Theimplementation of the change may take place in a code of the website.The term website code, as used above, may include software, firmware,and/or microcode, and may refer to programs, routines, functions,classes, data structures, and/or objects. The website code may include:(i) descriptive text to be parsed, such as HTML (hypertext markuplanguage) or XML (extensible markup language), (ii) assembly code, (iii)object code generated from source code by a compiler, (iv) source codefor execution by an interpreter, (v) source code for compilation andexecution by a just-in-time compiler, etc. As examples only, websitecode may be written using syntax from languages including C, C++, C#,Objective-C, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal,Curl, OCaml, Javascript®, HTML5, Ada, ASP (active server pages), PHP,Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, andPython®. Consistent with the present disclosure, the website code may beupdated or revised for implementing one or more changes in web displayparameters to address a disability of a user. In some embodiments, thechanges to the website code may be local, i.e., the changes may affectthe presentation of the website on the user's computing device and maynot affect the presentation of the website on other users' computingdevices.

Disclosed embodiments may involve providing an accessibility GUI(graphical user interface) for implementing changes in the websitepresentation. An accessibility GUI generally refers to an interfacewhich allows users to customize website display parameters throughgraphical elements (e.g., icons, menus, scroll bars, windows,transitional animations, dialogue boxes, and more). In one embodiment,the disclosed methods may involve receiving input via the accessibilityGUI indicative of a selection for adjusting one or more website displayparameters. The received input may include any type of data inputted bya user using an input device, such as a keyboard, a mouse, a touch pad,a touch screen, a joystick, a microphone, an image sensor, and/or anyother device connectable to the computing device. In some examples, thereceived input may be in the form of at least one of: text, sounds,speech, hand gestures, body gestures, or tactile information. Consistentwith the present disclosure, the accessibility GUI may be presented bydefault whenever a website is uploaded and may be closed upon receivingan input. Alternatively, the accessibility GUI may be presented uponreceiving an indication that the user of the website may have adisability. In a first example, the indication may include clicking onan accessibility icon shown at the bottom of the website. In a secondexample, the indication may include retrieving stored informationsuggesting that the user of the website may have a disability.

In some embodiments, the input received via the accessibility GUI may beindicative of a selection of a specific web accessibility profile. Asused herein, a web accessibility profile (or simply an accessibilityprofile) may include any type of data that may be used to determine aparticular disability associated with a user. The selection of a webaccessibility profile may trigger a bundle of predefined changes in agroup of display parameters. Example web accessibility profiles mayinclude a seizure safe profile, a vision impaired profile, a cognitivedisability profile, a neurodevelopmental disorder profile, a screenreader profile, an elderly profile, a multi-disability profile, and/orany other grouping of predefined changes designed to address acondition. Consistent with the present disclosure, the web accessibilityprofile selection may have an associated set of disability profilevalues for the web display parameters. In some embodiments, thedisability profile values may be different from the default values ofthe web display parameters. Upon receiving the user's selection, themethod may include implementing a predefined template to alter one ormore default website display parameters to conform with the needs of thespecific disability of the website user. For example, upon selection ofa visual impaired profile, disclosed embodiments may includeimplementing a predefined template associated with a visual impairedprofile to alter the website display parameter “font size parameter”associated with all the titles to have a value of 20 pt, and to adjustthe alter website display parameter “saturation parameter” to increasedisplay intensity.

One implementation of the disclosed embodiment may include alternatingdefault display parameters to conform with a visual impairment profile.The visual impairment profile may be designed for disabilities such asdegrading eyesight, tunnel vision, cataract, glaucoma, and others.Visual disabilities range from mild or moderate vision loss in one orboth eyes (“low vision”) to substantial and uncorrectable vision loss inboth eyes (“blindness”). For example, some website users have reduced orlack of sensitivity to certain colors (“color blindness”), or increasedsensitivity to bright colors. These variations in perception of colorsand brightness can be independent of the visual acuity. To address theparticular visual disabilities of website users, the accessibility GUImay enable website users to change the presentation of web content intoforms that are more usable for their particular needs. Changes topresentation may include, for example, enlarging or reducing text sizeand images, customizing settings for fonts, colors, and spacing,text-to-speech synthesis of the content, providing audio descriptions ofvideo in multimedia, reading text using refreshable Braille, and/or anyother visual, audible, or tactile alteration. In one embodiment, uponselection of the visual impairment profile, the disclosed software mayalter a plurality of web display parameters to ensure that thepresentation of web content is adapted to visually impaired users.

Another implementation of the disclosed embodiment may includealternating default display parameters to conform with a seizure-safeprofile. Seizure disorders include different types of epilepsy andmigraines, which may be in reaction to visual flickering or audiosignals at certain frequencies or patterns. A seizure-safe profile isdesigned to eliminate the risk of seizures that result from flashing orblinking animations and risky color combinations. In one embodiment,upon selection of the seizure-safe profile, the disclosed software maylimit the movement on the display to prevent blinking animation or toalter animations on the website such that they do not change at a rategreater than three frames per second.

Other implementations of the disclosed embodiment may includealternating default display parameters to conform with a cognitivedisability profile and alternating default display parameters to conformwith a neurodevelopmental disorder profile. The cognitive disabilityprofile may be designed to help users with cognitive disabilities suchas autism, dyslexia, CVA, and others, to focus on essential elementsmore easily. The neurodevelopmental disorder profile may be designed toreduce distractions and noise. In general, cognitive, learning, andneurological disabilities involve neurodiversity and neurologicaldisorders, as well as behavioral and mental health disorders that arenot necessarily neurological. They may affect any part of the nervoussystem and impact how well people hear, move, see, speak, and understandinformation. Cognitive and neurological disabilities do not necessarilyaffect the intelligence of a person. People with cognitive, learning,and neurological disabilities may require different types of webbrowsing methods, depending on their particular needs. In some examples,the accessibility GUI may enable website users to use text-to-speechsoftware to hear the information while reading it visually or to usecaptions to read the information while hearing it. In other examples,the accessibility GUI may enable website users to use tools that resizetext and spacing or customize colors to assist reading. In otherexamples, the accessibility GUI may enable website users to use grammarand spelling tools to support writing. In one embodiment, upon selectionof the cognitive disability profile, the disclosed software mayhighlight titles and actionable objects on the website; and uponselection of the neurodevelopmental disorder profile, the disclosedsoftware may execute a stop animation command in the website code tolimit the movement on the display.

Other implementations may include alternating website code to conformwith a screen reader profile. Websites are visual representations ofcoding structure and elements. Whatever depicted on a screen has beenexecuted by the website code. As a result, most visually abled users canoverlook the website code itself. In contrast, blind users, for example,consume and navigate websites using a screen reader. A screen reader maybe software application that translates textual and graphicalinformation displayed on a screen and re-present it to a user usingsynthesized speech. Screen readers are a form of assistive technology(AT) potentially useful to the blind, visually impaired, color blind,low vision, dyslexic, illiterate or learning disabled, often incombination with other ATs such as screen magnifiers and tools formanipulating font type, font size, contrast, and the like. Typically, ascreen reader may avoid the visual screen and goes straight to the codeto essentially examine and then relay back to the user what is beingrepresented on the screen.

Therefore, a website code should properly reflect what is being viewedon the website. However, there are different ways to code certainelements (such as a menu or dropdowns) that will all look the same to avisually abled user. For a blind person who can't recognize a globallyrecognized structure of an element, they could get misled about awebsite's content. For example, many times images on websites are usedto symbolize a category on a website or to reveal a new sale that hasbeen launched. So visually abled users will be able to read text such as“Children's clothes” or “30% off kitchen supplies” on the image butusers that use screen readers may just hear “graphic”.

Consistent with the present disclosure, upon selection of theblind-users profile, the disclosed software may alter the website codeto ensure that the presentation of web content is adapted to users thatuses screen readers. Disclosed embodiments may involve using AI to scana website and understand all of the elements on a page. The determinedcontextual information may reflect the purpose of every element, the wayit's coded, and also how the end-user is meant to perceive it.Thereafter, the website code may be updated to ensure that the screenreader will understand what a blind user needs to know. In oneimplementation, Accessible Rich Internet Applications (ARIA) attributesmay be automatically added for context and behavior-related adjustmentsto optimize elements in the most comprehensive and efficient way.Examples of added ARIA attributes may include describing main menus,header structure, and recognition of important icons. In anotherimplementation, alternative text may be added automatically to imagesusing image recognition technology to add elaborate and accuratedescriptions to all images. In yet another implementation, screen readertext may be automatically added to help the screen reader describecertain actions and areas based on the context of a website.

Other implementations may include alternating default display parametersor providing additional content to conform with an audio impairmentprofile. Auditory disabilities range from mild or moderate hearing lossin one or both ears (“hard of hearing”) to substantial and uncorrectablehearing loss in both ears (“deafness”). Some people with auditorydisabilities can hear sounds but sometimes not sufficiently tounderstand all speech, especially when there is background noise. Thiscan include people using hearing aids. While multimedia on the Webprovides many opportunities for people with auditory disabilities, italso poses challenges when content or web players are not designed to beaccessible. For example, while video content can be used to communicateinformation visually, audio content may require alternatives, such astranscripts and captions, so that it is accessible for people withauditory disabilities. In one embodiment, upon selection of the audioimpairment profile, the disclosed software may provide transcripts andcaptions of audio content, adjust the text size and colors of captions,provide options to stop, pause, adjust the volume of audio content(independently of the system volume), and generate high-qualityforeground audio that is clearly distinguishable from any backgroundnoise.

Other implementations of the disclosed embodiment may includealternating default display parameters or providing additional contentto conform with a physical impairment profile. Physical disabilities(sometimes called “motor disabilities”) include weakness and limitationsof muscular control (such as involuntary movements including tremors,lack of coordination, or paralysis), limitations of sensation, jointdisorders (such as arthritis), pain that impedes movement, and missinglimbs. Some people with physical disabilities rely on keyboard supportto activate functionality provided on web pages. They may need more timeto type, click, or carry out other interactions, and they may typesingle keystrokes in sequence rather than typing simultaneous keystrokes(“chording”) to activate commands. Such keystrokes may include commandsfor special characters, shortcut keys, and to active menu items. Inaddition, people with physical disabilities may have trouble clickingsmall areas and are more likely to make mistakes in typing and clicking.In one embodiment, upon selection of the physical impairment profile,the disclosed software may provide important design aspects such aslarger clickable areas, extended time to complete tasks, and errorcorrection options for forms. Moreover, the software may provide visibleindicators of the current focus, and mechanisms to skip over blocks,such as over page headers, navigation bars, and more.

The foregoing list of profiles associated with disabilities is onlyexemplary. The disclosed systems, methods and computer readable mediamay be designed to alternate one or more default web display parametersbased on a selection of other accessibility profiles.

Reference is now made to FIG. 1, which shows an example of a system 100for enabling users 110 to personalize the accessibly display ofwebsites. System 100 may be computer-based and may include at least someof computer system components, desktop computers, workstations, tablets,handheld computing devices, memory devices, and internal networksconnecting the components. System 100 may include or be connected tovarious network computing resources (e.g., servers, routers, switches,network connections, storage devices, etc.) for supporting servicesprovided by system 100. For example, system 100 may include or beconnected to a website host 120 communicating with an accessibilityservice host 130 over communications network 140 that facilitatescommunications and data exchange between different system components andthe different entities associated with system 100. In one embodiment,website host 120 may host a website 150 associated with a defaultwebsite display 160. However, the display of website 150 may be alteredwhen displayed by a plurality of computing devices 170 (e.g., 170A,170B, and 170C) to different users 110 associated with differentdisabilities. For example, user 110A may be visually impaired anddefault website display 160 of website 150 may be altered to a firstwebsite display 180A that conforms with the needs of a user havingvisually impairment; user 110B may be cognitive disabled and defaultwebsite display 160 of website 150 may be altered to a second websitedisplay 180B that conforms with the needs of a user having cognitivedisability; and user 110C may be epileptic and default website display160 of website 150 may be altered to a third website display 180C thatconforms with the needs of a user having epilepsy.

As shown, website host 120 may be associated with a server 123 coupledto one or more physical or virtual storage devices such as a datastructure 126. Data associated with website 150 may be stored in datastructure 126 and may be accessed using server 123. Data structure 126may utilize a volatile or non-volatile, magnetic, semiconductor, tape,optical, removable, non-removable, other type of storage device ortangible or non-transitory computer-readable medium, or any medium ormechanism for storing information related to website 150. Data structure126 may be part of server 123 or separate from server 123. When datastructure 126 is not part of server 123, server 123 may exchange datawith data structure 126 via a communication link. Data structure 126 mayinclude one or more memory devices that store data and instructions usedto perform one or more features of the disclosed embodiments. In oneembodiment, data structure 126 may include any of a plurality ofsuitable data structures, ranging from small data structures hosted on aworkstation to large data structures distributed among data centers.Data structure 126 may also include any combination of one or more datastructures controlled by memory controller devices (e.g., servers) orsoftware.

Altering the display of website 150 to address the accessibility needsof users may be accomplished by accessibility service host 130. In theillustrated example, accessibility service host 130 may be associatedwith a server 133 coupled to one or more physical or virtual storagedevices such as a data structure 136. The operational and detailsdescribed above with reference to server 123 and data structure 126apply to server 133 and data structure 136.

According to embodiments of the present disclosure, communicationsnetwork 140 may be any type of network (including infrastructure) thatsupports exchanges of information, and/or facilitates the exchange ofinformation between the components of system 100. For example,communications network 140 may be the Internet, the world-wide-web(WWW), a private data network, a virtual private network using a publicnetwork, a Wi-Fi network, a local area network (LAN), a wide areanetwork (WAN), a metro area network (MAN), and/or other suitableconnections that may enable information exchange among variouscomponents of the system. In some embodiments, a network may include oneor more physical links used to exchange data, such as Ethernet, coaxialcables, twisted pair cables, fiber optics, or any other suitablephysical medium for exchanging data. A network may also include a publicswitched telephone network (“PSTN”) and/or a wireless cellular network.A network may be a secured network or unsecured network. In otherembodiments, one or more components of the system may communicatedirectly through a dedicated communication network. Directcommunications may use any suitable technologies, including, forexample, BLUETOOTH™, BLUETOOTH LET™ (BLE), Wi-Fi, near fieldcommunications (NFC), or other suitable communication methods thatprovide a medium for exchanging data and/or information between separateentities.

According to embodiments of the present disclosure, website 150 may bedisplayed on computing device 170. The computing device may includeprocessing circuitry communicatively connected to a network interfaceand to a memory, wherein the memory contains instructions that, whenexecuted by the processing circuitry, configure the computing device toexecute a web accessibility method. Computing devices referenced hereinmay include all possible types of devices capable of exchanging data ina communications network such as the Internet. In some examples, thecommunication device may include a smartphone, a tablet, a smartwatch, apersonal digital assistant, a desktop computer, a laptop computer, anIoT device, a dedicated terminal, and any other device that enablesdisplay of digital content conveyed via the communications network. Insome cases, the computing device may include or be connected to adisplay device such as an LED display, a touchscreen display, anaugmented reality (AR) device, a virtual reality (VR) device.

The components and arrangements of system 100 shown in FIG. 1 areintended to be exemplary only and are not intended to limit thedisclosed embodiments, as the system components used to implement thedisclosed processes and features may vary.

FIG. 2 is a block diagram of an exemplary computing device 170 and datastructure 136 that are used for altering website presentationsconsistent with some embodiments. Computing device 170 may include a bus205A (or other communication mechanism) interconnecting subsystems andcomponents for transferring information within computing device 170. Forexample, bus 205A may interconnect a processing device 210A, a memorydevice 220A including a memory portion 222A, a network interface 230A,an input interface 240, and a data structure 250A.

In some embodiments, a processing device 210 (e.g., processing device210A and processing device 210B) may include at least one processorconfigured to execute computer programs, applications, methods,processes, or other software to perform embodiments described in thepresent disclosure. A processing device may be at least one processor,as defined earlier, which may, for example, include a microprocessorsuch as one manufactured by Intel™. For example, the processing devicemay include a single core or multiple core processors executing parallelprocesses simultaneously. In one example, the processing device may be asingle core processor configured with virtual processing technologies.The processing device may implement virtual machine technologies orother technologies to provide the ability to execute, control, run,manipulate, store, etc., multiple software processes, applications,programs, etc. In another example, the processing device may include amultiple-core processor arrangement (e.g., dual, quad core, etc.)configured to provide parallel processing functionalities to allow adevice associated with the processing device to execute multipleprocesses simultaneously. It is appreciated that other types ofprocessor arrangements could be implemented to provide the capabilitiesdisclosed herein.

In some embodiments, a memory device 220 (e.g., memory device 220A andmemory device 220B) may include memory as describe previously. A memoryportion 222 that may contain instructions that when executed byprocessing device 210, perform one or more of the methods described inmore detail herein. A memory device 220 may be further used as a workingscratch pad for processing device 210, a temporary storage, and others,as the case may be. Memory 220 may be a volatile memory such as, but notlimited to, random access memory (RAM), or non-volatile memory (NVM),such as, but not limited to, flash memory. Processing device 210 and/ormemory 220 may also include machine-readable media for storing software.The term “software” as used herein refers broadly to any type ofinstructions, whether referred to as software, firmware, middleware,microcode, hardware description language, or otherwise. Instructions mayinclude code (e.g., in source code format, binary code format,executable code format, or any other suitable format of code). Theinstructions, when executed by the one or more processors, may cause theprocessing system to perform the various functions described in furtherdetail herein.

In some embodiments, a network interface 230 (e.g., network interface230A and network interface 230B) may be used for providing connectivitybetween the different components of system 100. Network interface 230may provide two-way data communications to a network, such ascommunications network 140. In one embodiment, network interface 230 mayinclude an Integrated Services Digital Network (ISDN) card, cellularmodem, satellite modem, or a modern to provide a data communicationconnection over the Internet. As another example, network interface 230may include a Wireless Local Area Network (WLAN) card. In anotherembodiment, network interface 230 may include an Ethernet port connectedto radio frequency receivers and transmitters and/or optical (e.g.,infrared) receivers and transmitters. The specific design andimplementation of network interface 230 may depend on the communicationsnetwork or networks over which computing device 170 is intended tooperate. For example, in some embodiments, computing device 170 mayinclude network interface 230 designed to operate over a GSM network, aGPRS network, an EDGE network, a Wi-Fi or WiMAX network, and a Bluetoothnetwork. In any such implementation, network interface 230 may beconfigured to send and receive electrical, electromagnetic, or opticalsignals that carry digital data streams or digital signals representingvarious types of information. In some embodiments, an input interface240 may be used by computing device 170 to receive input from a varietyof input devices, for example, a keyboard, a mouse, a touch pad, a touchscreen, one or more buttons, a joystick, a microphone, an image sensor,and any other device configured to detect physical or virtual input. Thereceived input may be in the form of at least one of: text, sounds,speech, hand gestures, body gestures, tactile information, and any othertype of physically or virtually input generated by the user. Consistentwith one embodiment, input interface 240 may be an integrated circuitthat may act as a bridge between processing device 210 and any of theinput devices listed above.

In some embodiments, a data structure 250 (e.g., data structure 250A anddata structure 250B) may be used for the purpose of storing single datatype column-oriented data structures, data elements associated with thedata structures, or any other data structures. The terms data structureand database, consistent with the present disclosure, may include anycollection of data values and relationships among them. The data may bestored linearly, horizontally, hierarchically, relationally,non-relationally, uni-dimensionally, multidimensionally, operationally,in an ordered manner, in an unordered manner, in an object-orientedmanner, in a centralized manner, in a decentralized manner, in adistributed manner, in a custom manner, or in any manner enabling dataaccess. By way of non-limiting examples, data structures may include anarray, an associative array, a linked list, a binary tree, a balancedtree, a heap, a stack, a queue, a set, a hash table, a record, a taggedunion, entity-relationship model, a graph, a hypergraph, a matrix, atensor, and so forth. The data in the data structure may be stored incontiguous or non-contiguous memory. Moreover, a data structure does notrequire information to be co-located. In some examples, the data storedin data structure 250 may include an accessibility profile associatedwith one or more website users. While illustrated in FIG. 2 as a singledevice, it is to be understood that data structure 250A or datastructure 2508 may include multiple devices either collocated ordistributed.

In addition, as illustrated in FIG. 2, accessibility service host 130may include a bus 205B interconnecting a processing device 210B, amemory device 220B including a memory portion 222B, a network interface230B, and a data structure 250B. Memory portion 222B may containsoftware modules to execute processes consistent with the presentdisclosure. In particular, memory device 220B may include a sharedmemory module 262, a node registration module 263, a load balancingmodule 264, one or more computational nodes 265, an internalcommunication module 266, an external communication module 267, and adatabase access module (not shown). Modules 262-267 may contain softwareinstructions for execution by at least one processor (e.g., processingdevice 210B) associated with server 136. Shared memory module 262, noderegistration module 263, load balancing module 264, computational module265, and external communication module 267 may cooperate to performvarious operations consistent with the present disclosure.

Shared memory module 262 may allow information sharing betweenaccessibility service host 130 and other components of system 100. Insome embodiments, shared memory module 262 may be configured to enableprocessing device to access, retrieve, and store data. For example,using shared memory module 262, processing device 210B may perform atleast one of: executing software programs stored on memory device 220B,data structure 250A, or data structure 250B; storing information inmemory device 220B, data structure 250A, or data structure 250B; orretrieving information from memory device 220B, data structure 250A, ordata structure 250B.

Node registration module 263 may be configured to track the availabilityof one or more computational nodes 265. In some examples, noderegistration module 263 may be implemented as: a software program, suchas a software program executed by one or more computational nodes 265, ahardware solution, or a combined software and hardware solution. In someimplementations, node registration module 263 may communicate with oneor more computational nodes 265, for example, using internalcommunication module 266. In some examples, one or more computationalnodes 265 may notify node registration module 263 of their status, forexample, by sending messages: at startup, at shutdown, at constantintervals, at selected times, in response to queries received from noderegistration module 263, or at any other determined times. In someexamples, node registration module 263 may query about the status of oneor more computational nodes 265, for example, by sending messages: atstartup, at constant intervals, at selected times, or at any otherdetermined times.

Load balancing module 264 may be configured to divide the workload amongone or more computational nodes 265. In some examples, load balancingmodule 264 may be implemented as: a software program, such as a softwareprogram executed by one or more of the computational nodes 265, ahardware solution, or a combined software and hardware solution. In someimplementations, load balancing module 264 may interact with noderegistration module 263 in order to obtain information regarding theavailability of one or more computational nodes 265. In someimplementations, load balancing module 264 may communicate with one ormore computational nodes 265, for example, using internal communicationmodule 266. In some examples, one or more computational nodes 265 maynotify load balancing module 264 of their status, for example, bysending messages: at startup, at shutdown, at constant intervals, atselected times, in response to queries received from load balancingmodule 264, or at any other determined times. In some examples, loadbalancing module 264 may query about the status of one or morecomputational nodes 265, for example, by sending messages: at startup,at constant intervals, at pre-selected times, or at any other determinedtimes.

Internal communication module 266 may be configured to receive and/or totransmit information from one or more components of remote server 136.For example, control signals and/or synchronization signals may be sentand/or received through internal communication module 266. In oneembodiment, input information for computer programs, output informationof computer programs, and/or intermediate information of computerprograms may be sent and/or received through internal communicationmodule 266. In another embodiment, information received though internalcommunication module 266 may be stored in memory device 220B, in datastructure 250B, or other memory device in system 100. For example,information retrieved from data structure 212A may be transmitted usinginternal communication module 266. In another example, input data may bereceived using internal communication module 266 and stored in datastructure 212B.

External communication module 267 may be configured to receive and/or totransmit information from one or more components of system 100. Forexample, control signals may be sent and/or received through externalcommunication module 267. In one embodiment, information receivedthrough external communication module 267 may be stored in memory device220B, in data structures 250A and 250B, and on any memory device in thesystem 100. In another embodiment, information retrieved from datastructure 250B may be transmitted using external communication module267 to computing device 170.

Aspects of this disclosure may provide a technical solution to thechallenging technical problem of providing accessible experiences to webusers with disabilities. The technical solution may be implemented inhardware, in software (including in one or more signal processing and/orapplication specific integrated circuits), in firmware, or in anycombination thereof, executable by one or more processors, alone, or invarious combinations with each other. Specifically, disclosedembodiments include methods, systems, devices, and computer-readablemedia. For ease of discussion, system 100 is described above, however, apersonal skilled in the art would recognize that the disclosed detailsmay equally apply to methods, devices, and computer-readable media.Specifically, some aspects of disclosed embodiments may be implementedas operations or program codes in a non-transitory computer-readablemedium. The operations or program codes can be executed by at least oneprocessor. Non-transitory computer-readable media, as described herein,may be implemented as any combination of hardware, firmware, software,or any medium capable of storing data that is readable by any computingdevice with a processor for performing methods or operations representedby the stored data. In a broadest sense, the example methods are notlimited to particular physical or electronic instrumentalities, butrather may be accomplished using many differing instrumentalities. Insome embodiments, the disclosed methods may be implemented by processingdevice 210 of computing device 170, server 123, and/or server 133. Inother embodiments, the non-transitory computer-readable medium may beimplemented as part the memory portion 222 of memory 220 that maycontain the instructions to be executed by processing device 210. Theinstructions may cause processing device 210 corresponding to the atleast one processor to perform operations consistent with the disclosedembodiments.

FIG. 3 is a flowchart of an exemplary process 300 for making websitesaccessible for users 110 with different disabilities, according to someembodiments of the present disclosure. In some embodiments, process maybe executed by different components of system 100. For example, somesteps of process 300 may be implemented by a processing device withinwebsite host 120, a processing device within accessibility service host130, and a processing device within computing device 170. For purposesof illustration, in the following description, reference is made tocertain components of system 100. It will be appreciated, however, thatother implementations are possible and that any combination ofcomponents or devices may be utilized to implement the steps of theexemplary process. It will also be readily appreciated that theillustrated process can be altered to modify the order of steps, deletesteps, or further include additional steps, such as steps directed tooptional embodiments.

Process 300 begins when processing device 210 (e.g., a processor ofwebsite host 120) adds an accessibility code to a code of website 150(step 310). In some embodiments, the code of website 150 may be aJavaScript code and the added accessibly code may be less than a singleline of code. Upon adding the accessibility code, processing device 210(e.g., a processor of accessibility service host 130) may enable anaccessibility GUI to be incorporated in website 150 (step 320). Suchincorporation causes the accessibility GUI to be displayed by anycomputing device 170 when website 150 is opened. In addition, processingdevice 210 may scan and analyze the visual appearance of website 150 andits website code (step 330). Thereafter and based on the analysis of thevisual appearance of website 150 and its website code, processing device210 may determine accessibility information (step 340). Process 300 mayinclude rescanning the website every period of time to keep it up todate. For example, processing device 210 may scan and analyze the visualappearance of website 150 and its website code every 24 hours to makesure that all new content that was uploaded to the website isaccessible.

Process 300 may continue when processing device 210 (e.g., a processorof website host 120) may use the determined accessibility information toupdate the website with accessibility information (step 350). In oneembodiment, the accessibility information may include descriptiveinformation of images depicted on the website. The descriptiveinformation may be audibly presented to visually impaired users thathave difficulty seeing images depicted on the website. In anotherembodiment, the accessibility information may include identification offirst elements used as titles but untagged as titles and second elementsused as actionable objects but untagged as actionable objects. Thisenables highlighting titles and actionable objects to impactpresentation of content on a computing device of a user with a cognitivedisability. Upon updating the website code, the website may be compliantand certified according to accessibility guidelines. Thereafter,computing device 170 may be used to access and display website 150 thatincludes the accessibility GUI (step 360). As will be described later ingreater detail, processing device 210 may receive a selection of anaccessibility profile (step 370) and adapt the presentation of website150 to conform with a disability of the user (step 380). In oneembodiment, adapting the presentation of website 150 may include audiblypresenting descriptive information of images depicted on the website tovisually impaired users. In another embodiment, adapting thepresentation of website 150 may include altering one or more web displayparameters.

Consistent with the present disclosure, a processing device of system100 may use machine learning/artificial intelligence (as describedearlier) to analyze the visual appearance of website 150 and its websitecode.

FIGS. 4A and 4B are exemplary illustrations of a website code revisionfor making a website accessible for a visually impaired user. FIG. 4Adepicts website 150 before user 110A selected a vision impaired profilein accessibility GUI 400. The upper half of FIG. 4A depicts a firstpresentation of website 150 and the lower part of FIG. 4A depicts afirst presentation of the website code 410. As shown, the original codeindicates that certain text depicted on website 150 is associated withscript style of “zoom:1!important.” For example, text such as:“CookiesID.” The script style of “zoom:1!important” corresponds withvalues of content scaling parameter and font type parameter which arereasonable for users without visual impairment but may cause difficultyfor a visually impaired user.

FIG. 4B depicts website 150 after user 110A selected the vision impairedprofile in accessibility GUI 400. The upper half of FIG. 4B depicts asecond presentation of website 150 and the lower part of FIG. 4B depictsa second presentation of the website code 410. As shown, the revisedcode indicates that the script style associated with the same text onthe website is now “zoom:1.61!important.” These changes are designed fora visually impaired user and are in compliance with the Web ContentAccessibility Guidelines. One skilled in the art would recognize thatthese changes are only exemplary and other changes may be implementedonce a user selects the vision impaired profile in accessibility GUI400. Moreover, additional or other changes associated with other webdisplay parameters may be implemented once a user 110 selects adifferent profile from accessibility GUI 400.

Some discussed embodiments involve a graphical user interface forenabling selection of a web accessibility profile from a group ofprofiles. The selection may be associated with predefined adjustments towebsite display parameters associated with the web accessibilityprofile. Further, the selection may trigger a bundle of predefinedchanges in the website display parameters based on the predefinedadjustments. The predefined changes may transform a presentation of thewebsite to conform with needs of the user having a disability associatedwith the selected web accessibility profile.

Some disclosed embodiments enable users to after website presentationsbased on selected web accessibility profiles. Enabling may refer toempowering, facilitating, implementing, permitting, approving, letting,making possible, providing the means for, or any way of causingoperation. A user may refer to a person or computer that uses acomputing device or accesses a website in any manner. A websitepresentation may refer to an appearance, delivery, demonstration,display, production, arrangement, or any other representation of awebsite, as discussed more fully in other portions of this disclosure.Altering website presentations may refer to changing, developing,alternating, modifying, or using any other way to make websitepresentations different. Non-limiting examples of altering a websitepresentation may include changing a display of a website presentation,changing an order of the website presentation, moving the websitepresentation to different positions, removing the website presentation,adding content to the website presentation, changing a font size of someor all of the website presentation, changing a color of some or all ofthe website presentation, changing website display parameters associatedwith the website presentation, and changing website code associated withthe website presentation. For example, the website presentation may bealtered in any of the above fashions either entirely or partially. Insome embodiments, users may be enabled to alter website presentationsbased on selected web accessibility profiles. Thus, a user may be ableto alter website presentations conditioned on, contingent on, or anyother way of depending on selected web accessibility profiles. The webaccessibility profiles may be selected by picking, electing, preferring,naming, or in another way choosing the web accessibility profiles. Forexample, the user may select a web accessibility profile, as discussedmore fully in other portions of this disclosure, by user input. The usermay use an input device such as a mouse to click on the webaccessibility profile displayed on an accessibility graphical userinterface for a website. For example, the user may be enabled, via auser interface, to select the web accessibility profile from a group ofweb accessibility profiles. This selection may occur in a variety ofways. For example, the user may click an item from a pull-down menu, mayenter a number corresponding to an item in a list, may check a check boxcorresponding to a profile, and may enter the profile name by text. Theselection may trigger a bundle of predefined changes in a group ofwebsite display parameters.

Some disclosed embodiments include displaying an accessibility graphicaluser interface (GUI) for a website, wherein the accessibility GUIincludes a plurality of web accessibility profiles associated withdiffering disabilities. Displaying an accessibility GUI may refer todemonstrating, exhibiting, presenting, arranging, laying out, showing,featuring, illustrating, or any other way of putting into view theaccessibility GUI. Non-limiting examples of displaying the accessibilityGUI may include displaying the accessibility GUI for a website byoverlaying the accessibility GUI on the website on a desktop or laptopcomputer screen, virtually displaying the accessibility GUI, displayingthe accessibility GUI on a different desktop or laptop computer screen,displaying the accessibility GUI on a mobile device, displaying theaccessibility GUI on a tablet, and/or displaying the accessibility GUIon an accessibility device. The accessibility GUI and the website arediscussed more fully in other portions of this disclosure. Anon-limiting example of an accessibility GUI is a menu, and anon-limiting example of a website is a web page within a larger website(e.g., profile pages on a social networking website). Web accessibilityprofile is discussed more fully in other portions of this disclosure andan example of a web accessibility profile is a vision impaired profileas discussed more fully in other portions of this disclosure. Forexample, the accessibility GUI for a web page regarding news may bedisplayed as a menu pane on a left side of the web page. Theaccessibility GUI may contain a plurality of web accessibility profilesassociated with differing disabilities (e.g., the visual impairmentprofile, a seizure safe profile, a cognitive display profile) for theuser to choose when viewing the display of the webpage. In someexamples, the web accessibility profile may be associated with one ormore differing disabilities.

By way of example, FIG. 5 illustrates memory device 220. Memory device220 may store and/or contain a plurality of web accessibility profiles502. For example, the plurality of web accessibility profiles 502 mayinclude vision impaired profile 502A, cognitive disability profile 502B,epilepsy-safe profile 502C, and ADHD friendly profile 502D. Each webaccessibility profile may, by default or by a user input, contain and/orbe associated with website display parameters. Vision impaired profile502A may include website display parameters 504A through 504E. Forexample, website display parameter 504A may be a content scalingparameter. As another example, website display parameter 504B may be asaturation parameter. Cognitive disability profile 502B may includewebsite display parameters 506A through 506C. For example, websitedisplay parameter 506A may be a highlight titles parameter. As anotherexample, website display parameter 506B may be a highlight actionableobjects parameter. Epilepsy-safe profile 502C may include websitedisplay parameters 508A through 508C. For example, website displayparameter 508A may be a saturation parameter. As another example,website display parameter 508B may be a stop animation parameter. ADHDfriendly profile 502D may include website display parameters 510Athrough 510D. For example, website display parameter 510A may be acontent scaling parameter. As another example, website display parameter510B may be a stop animation parameter.

By way of example, FIG. 6 illustrates website 150 that may be displayedas website presentation 604. FIG. 6 also illustrates a display ofaccessibility GUI 400 for website 150. The display of accessibility GUI400 contains the plurality of web accessibility profiles 602. Forexample, accessibility GUI 400 is displayed as a menu on a left side ofwebsite 150. As illustrated in FIG. 6, the plurality of webaccessibility profiles 602 may include, for example, vision impairedprofile 602A, cognitive display profile 602B, seizure safe profile 602C,and ADHD friendly profile 602D. Each of the plurality of webaccessibility profiles 602 may be associated with differingdisabilities. For example, vision impaired profile 602 may be associatedusers with disabilities such as degrading eyesight, tunnel vision,cataract, glaucoma, and other sight limiting disabilities. For example,cognitive display profile 602B may be associated with users withcognitive disabilities such as autism, dyslexia, CVA, and others. Forexample, seizure safe profile 602C may be associated with users withdisabilities including different types of epilepsy and migraines. Forexample, ADHD friendly profile 602D may be associated with users withdisabilities related to distractions and/or focus deprivation.

Some disclosed embodiments involve receiving a selection of one of theplurality of web accessibility profiles. Receiving a selection may referto collecting, gaining, obtaining, or any other way of coming intopossession of a choice, selection, election, or any other similar inputindicative of a selection or choice of a web accessibility profile fromamong a plurality of web accessibility profiles. For example, receivinga selection may include receiving an input via an accessibility GUI suchas a menu pane on a left side of a web page. The received input mayinclude any type of data inputted by a user using an input device, suchas a keyboard, a mouse, a touch pad, a touch screen, a joystick, amicrophone, an image sensor, and/or any other device connectable to acomputing device. In some examples, the received input may be in theform of at least one of: text, sounds, speech, hand gestures, bodygestures, or tactile information. In another example, receiving theselection may be in the form of a predetermined selection. For example,depending on a type of website or web page, a specific web accessibilityprofile may be predetermined and/or automatically selected by thecomputer. For example, the user may input the selection of one of theplurality of web accessibility profiles by entering the text “VISIONIMPAIRED PROFILE” with the keyboard. In another example, the user mayinput the selection of one of the plurality of web accessibilityprofiles by using the mouse to click an “ON” button on the accessibilityGUI corresponding to the vision impaired profile or any other webaccessibility profile. Alternatively, the user may input a deselectionof one of the plurality of web accessibility profiles by using the mouseto click an “OFF” button on the accessibility GUI corresponding to thevision impaired profile or any other web accessibility profile. Inanother example, the user may speak into the microphone “VISION IMPAIREDPROFILE” connected to the computing device that will then translateand/or synthesize the sound bit into an electrical current and/orsignal. The user may also select more than one of the plurality of webaccessibility profiles if they so desire to.

By way of example, FIG. 6 illustrates website 150 in the form of websitepresentation 604 and a display of accessibility GUI 400 in the form of amenu pane on a left side of website 150. Accessibility GUI 400 containstwo windowpanes, “Accessibility Adjustments” and “Content Adjustments”606. Windowpanes of accessibility GUI 400 contain graphical elements 608in the form of buttons, “ON” and “OFF” toggle buttons, and other buttonsincluding “Content Scaling,” “Highlight Titles,” “Highlight Links,”“Adjust Font Sizing,” “Align Center,” “Text Magnifier,” and “ReadableFont.” User 110 may select one of a plurality of web accessibilityprofiles 602 within the display of accessibility GUI 400. For example,user 110 may use an input device such as a mouse to select graphicalelement 608 button corresponding to vision impaired profile 602A.Alternatively, user 110 may use the mouse to select graphical element608 “ON” button corresponding to vision impaired profile 602A.

Some disclosed embodiments involve identifying a first predefinedadjustment to a first website display parameter associated with theselected web accessibility profile. Identifying a predefined adjustmentmay refer to detecting, retrieving, recalling, verifying, determining,establishing, finding, or a predefined adjustment for a website displayparameter. For example, a predefined adjustment associated with aselected profile may be identified in a database or in a source code.The predefined adjustment may refer to a decided, determined, orprescribed alteration, modification, or any other act or process ofchanging the website display parameter. In some examples, the predefinedadjustment may be defined by or in a predefined template. The predefinedtemplate may be associated with the needs of a specific disability of awebsite user. Non-limiting examples of the predefined adjustment mayinclude specifying or changing values or one or more of a magnificationof a website, a font size of content of the website, a color scheme orschema of the website, orientation of the website, position of thewebsite, saturation of a display of the website, volume of audio contentrelated to the website age, image sizes on the website, or spacing onthe website. Further non-limiting examples of the predefined adjustmentmay include synthesizing content of the website from text-to-speech andvice versa, providing audio or textual descriptions of videos of thewebsite, preventing a display of blinking animation of the website,and/or altering the display of blinking animation of the website. Insome examples, the predefined adjustment of a website display parametermay be associated with the selected web accessibility profile or morethan one selected web accessibility profiles. Website display parameteris discussed more fully in other portions of this disclosure andexamples of the website display parameter may include font size, fonttype, and/or letter spacing.

For example, a selection of one of the plurality of web accessibilityprofiles may result from a user input using a mouse to click on an “ON”button on an accessibility GUI (e.g., a menu pane on a left side of awebsite). Following this example, the selected web accessibility profilemay be a vision impaired profile. Further, an identified predefinedadjustment may be a change in website display parameters including thefont type, font size, and letter spacing of a main header on thewebsite. These website display parameters may, in some examples, beassociated with the selected web accessibility profile, vision impairedprofile.

By way of example, FIG. 6 illustrates accessibility GUI 400 and onewindowpane within accessibility GUI 400 is “Content Adjustments” 606. Asdescribed above, “Content Adjustments” 606 may include graphicalelements 608 corresponding to predefined adjustments to website displayparameters 504A-E, 506A-C, 508A-C, and 510A-D. In some examples,predefined adjustments and/or website display parameters 504A-E, 506A-C,508A-C, and 510A-D may be associated with a selected web accessibilityprofile from a plurality of web accessibility profiles 602. For example,the selected web accessibility profile 602 may be vision impairedprofile 602A. Further, identified first predefined adjustmentsassociated with vision impaired profile 602A may include changing thefont of main header 610 on website 150 to a readable font and adjustingthe font sizing of main header 610 by user 110 selecting correspondinggraphical elements 608 to each, respectively. Alternatively, firstpredefined adjustments may be identified automatically. A computingdevice may automatically identify first predefined adjustments.

Some disclosed embodiments involve initiating a first change in thefirst website display parameter based on the identified first predefinedadjustment to thereby address a first aspect of the disabilityassociated with the selected web accessibility profile. Initiating achange in a website display parameter may refer to beginning,implementing, instituting, starting, or any other way of causing orfacilitating a revision, adjustment, modification, deletion, addition,correction, and/or refinement to the website display parameter. Anexample of initiating a change in the website display parameter mayinvolve accessing a website's code which may include software, firmware,and/or microcode, and may refer to programs, routines, functions,classes, data structures, and/or objects. The website code may includedescriptive text, such as HyperText Markup Language or extensible markuplanguage that is parsed upon initiating a first change. In anotherexample, the website code may be in the form of assembly code or objectcode generated from source code by a compiler. Whatever form the websitecode is in, the website code itself, upon initiating the first change,may be updated, changed, or revised to address a disability of a user.Non-limiting examples of changing the website display parameter mayinclude increasing or decreasing a font size of content on a website, achange of a font type of content on the website, or an increase ordecrease of letter spacing of content on the website. The change of thewebsite display parameter may be based on an identified, selected, orgenerated predefined adjustment. The change in the website displayparameter may be initiated to address a first aspect of the disability.Addressing an aspect of a disability may refer to a directing efforts,commands, or attention to a feature, characteristic, or manner of adisability to alleviate or help ease the related features and/orcharacteristics of the disability. A disability may refer to an ailment,a disorder, an impairment, an injury, an affliction, an inability, anincapacity, an incompetency, or any other physical, mental, cognitive,or developmental condition that impairs, interferes with, or limits aperson's ability. Non-limiting examples of disabilities may include avisual impairment, a seizure disorder, a cognitive disability, aneurodevelopmental disorder, and an audio impairment.

Further, the change of the website display parameter may be based on thepredefined adjustment to address an aspect of a disability associatedwith a selected web accessibility profile. The change of the websitedisplay parameter may be automatic or based on a user input or an inputindicative of a connected accessibility device. For example, the changeof the website display parameter may be automatic and associated with orbased on the type of website accessed by the user, the time the websiteis accessed by the user, or the geographic location or IP address of theuser when accessing the website. Non-limiting examples of types ofwebsites include news-type websites, sports websites, article websites,scholarly websites, and gaming websites. Non-limiting examples of thewebsite is accessed may be in the morning of the day, the afternoon ofthe day, or during the night.

For example, a user may select a vision impaired profile as the webaccessibility profile. The vision impaired profile may be associatedwith website display parameters, for example, font type, font size, andletter spacing of a main header on a website. In some examples,predefined adjustments may be changes in the associated website displayparameters and the changes may include changing the font type of themain header on the website, increasing the font size of the main headeron the website, and/or increasing letter spacing of the main header onthe website. The changes to the associated website display parametersmay address aspects of a disability associated with the vision impairedprofile. For example, the user may be visually impaired and find itdifficult to navigate and read the website. By changing the font type ofthe header to an easier-to-read font type, increasing the font size ofthe main header, and increasing letter spacing of the main header, theuser may be able to more easily and/or dearly navigate and read thewebsite. Thus, the changes to the associated website display parametersmay address aspects of the user's disability.

By way of example, FIG. 7 illustrates website 150 in the form oftransformed website presentation 704 and a display of accessibility GUI400 in the form of a menu pane on a left side of website 150. FIG. 7illustrates a selection of vision impaired profile 702A. As discussedabove, identified first predefined adjustments to changing font type504A and adjusting font sizing 504B may include changing font type 504Aof main header 610 on website 150 to a readable font and increasing fontsizing 504B of main header 610. When comparing first header 610 in FIG.6 with first header 610 in FIG. 7, it becomes clear that first change706A has been initiated in first predefined adjustments—includingchanging font type 504A of main header 610 and increasing font sizing504B of main header 610. By initiating first change 706A, user's 110disability, such as a visual impairment, may be addressed. By changingfont type 504A of main header 610 to a readable font and adjusting fontsizing 504B of main header 610, user 110 may more easily and/or clearlynavigate and read website 150.

Some disclosed embodiments involve identifying a second predefinedadjustment to a second website display parameter associated with theselected web accessibility profile. Some disclosed embodiments furtherinclude initiating a second change in the second website displayparameter based on the identified second predefined adjustment tothereby address a second aspect of the disability associated with theselected web accessibility profile. In some embodiments, the operationsfurther include identifying a third predefined adjustment to a thirdwebsite display parameter associated with the selected web accessibilityprofile and initiating a third change in the third website displayparameter based on the identified third predefined adjustment to therebyaddress a third aspect of the disability associated with the selectedweb accessibility profile. As discussed above, first identifiedpredefined adjustments may be changes in first website displayparameters, associated with a web accessibility profile, includingchanging a font type of a main header on a website, increasing a fontsize of the main header on the website, and increasing letter spacing ofthe main header on the website. The web accessibility profile may be thevision impaired profile. In addition to identifying first predefinedadjustments to first website display parameters associated with thevision impaired profile, second predefined adjustments to second websitedisplay parameters associated with the vision impaired profile may beidentified. For example, second predefined adjustments may be changes insecond website display parameters, associated with the vision impairedprofile, including changing a font type of a sub header on the website,increasing a font size of the sub header on the website, and increasingletter spacing of the sub header on the website. Advantageously, morethan one predefined adjustment to website display parameters may beidentified that may be associated with the selected web accessibilityprofile. Thus, more than one change may be initiated to address morethan one aspects of the disability associated with the selected webaccessibility profile. In some examples, more than one web accessibilityprofile may be selected, so that multiple predefined adjustments tomultiple website display parameters may be identified. After identifyingmultiple predefined adjustments, multiple changes may be initiated tothe identified multiple predefined adjustments to address multipleaspects of multiple disabilities associated with the more than one webaccessibility profiles. This may be ideal if the user selects both avision impaired profile and an ADHD friendly profile, as some users mayhave more than one disability.

By way of example, FIG. 7 illustrates website 150 in the form oftransformed website presentation 704 and a display of accessibility GUI400 in the form of a menu pane on a left side of website 150. FIG. 7illustrates the condition when a vision impaired profile 702A isselected by the user. In this example, the first predefined adjustmentsmay include changing first website display parameters 504A and 504B,which may initiate first change 706A to main header 610 by changing fonttype 504A and adjusting font sizing 504B may include changing font type504A of main header 610 on website 150 to a readable font and increasingfont sizing 504B of main header 610. In addition, in this example,second predefined adjustments may include changing second websitedisplay parameters 504C and 504D associated with vision impaired profile702A. Second website display parameter 504C may include changing fonttype 504C of sub header 612 on website 150 to a more readable font andadjusting font sizing 504D of sub header 612. Once second websitedisplay parameters 504C and 504D are identified, second change 706B maybe initiated based on identified second website display parameters 504Cand 504D. When comparing sub header 612 in FIG. 6 with sub header 612 inFIG. 7, it becomes clear that second change 706B includes changing fonttype 504C of sub header 612 and increasing font sizing 504D of subheader 612. By initiating second change 706B, user's 110 disability,such as the visual impairment, may be additionally addressed. Bychanging font type 504C of sub header 612 to a readable font andincreasing font sizing 504D of main header 612, user 110 may more easilyand/or clearly navigate and read website 150. In addition to the above,third predefined adjustments to third website display parameters 504Eassociated with vision impaired profile 702A may also be identified.Third website display parameter 504E may include content scaling ofwebsite 150. Once third website display parameter 504E is identified,third change 706C may be initiated based on identified third websitedisplay parameters 504E.

In some embodiments, the first display parameter and the second displayparameter are selected from a group including: content scaling, readablefont, highlight titles, highlight links, text magnifier, font size, lineheight, letter spacing, align center, align left, align right, contrast,monochrome, saturation, text colors, title colors, background color,mute sounds, hide images, read mode, reading guide, stop animation,highlight hover, and cursor appearance. Content scaling may refer toadjusting, increasing, or decreasing content on a website. Non-limitingexamples of content scaling may include adjusting a website's aspectratio, increasing a website's screen size, and decreasing a website'sscreen size. Content scaling may be done automatically. The processormay scale the content of the website by accessing a meta viewport tagincluded in the <head> of the HyperText Markup Language of the website.A readable font may refer to an arrangement of typefaces and/or words tomake written content flow or able to be read or interpreted in an easyand/or accessible manner. Non-limiting examples of a readable font mayinclude Times New Roman, Verdana, Arial, Tahoma, Calibri, and Helvetica.Highlight titles may refer to accents, emphases, features, bringing out,calling attention to, or underlining titles. Title may refer to a headeron the website or any other descriptive name, word, characters, orcombinations thereof. An example of a highlight may include a coloredoverlay applied to one or more titles. The colored overlay may be in anycolor. Links may include an identifier attached to an element in asystem to indicate or permit connection with other similarly identifiedelements, especially one in a computer file. Links may also behighlighted. Text magnifier may refer to an object that makes objects,including text, look larger or smaller. For example, the text magnifiermay be associated with and/or connected with a user input device such asa mouse. Thus, anywhere the user points the mouse on the website, thatpart of the website would be magnified to help the user read and/ornavigate the website. Font size may refer to how large and/or smallcharacters appear. Non-limiting examples of font size may include 8points (pt), 10 pt, 12 pt, and 14 pt. 1 inch contains approximately 72(72.272) pts. Thus, the font size of 72 would be about one inch tall.Line height may refer to a distance between lines of text. Non-limitingexamples of line height may include 0.5×, 1×, 1.5×, 2×, and 3×. Letterspacing may refer to a distance of horizontal whitespace between lettersor characters in a block of text. Aligning center, left, or right mayrefer to the appearance and/or orientation of edges of a paragraph orblock of text. Non-limiting examples of alignment may includeleft-aligned text, centered text, right-aligned text, and justifiedtext. Contrast may refer to the difference in light between font and abackground of the website. Monochrome may refer to a visual artcharacteristic in which an image on the website or the website itself iscomposed of varying shades of the same color. Non-limiting examples mayinclude grayscale, a hue of sepia, and a hue of cyan. Saturation mayrefer to an intensity of a color on the website. Text may refer to anobject that may be read. Background may refer to an area that fills ascreen of the website. The text and background may be colored. Mutesounds may refer to deadening, muffling, or softening one or moresounds. Hiding images may include putting and/or keeping out of sight orconcealing from view one or more images. A read mode may refer toadjusting the website according to a screen size. Non-limiting examplesof read mode may include a horizontal read mode and a vertical readmode. A reading guide may refer to an assisted or navigated readingprocess. Stopping animation may include bringing an animation, event,action, or process of the website to an end. Non-limiting examples ofstopping animation may include preventing a blinking animation andaltering an animation's rate of change. The highlight hover displayparameter may allow a user to point to an area on a website using aninput device such as a mouse and then highlighting that area. A cursorappearance may refer to a shape that indicates where anything that istyped and/or pointed to by the user will appear on a display of acomputer screen. In some embodiments, the website may have an associatedset of default values for the website display parameters discussedabove.

By way of example, FIG. 6 illustrates a display of accessibility GUI 400for website 150. Accessibility GUI 400 is split into two windowpanes,“Accessibility Adjustments” and “Content Adjustments” 606. Websitedisplay parameters may be represented by corresponding graphicalelements 608. In some embodiments, first website display parameters 504Aand 504B and second website display parameters 504C and 504D for visionimpaired profile 602A may be selected from a group. “ContentAdjustments” 606 is an example of such group and, in one example,includes “Content Scaling,” “Readable Font,” “Highlight Titles,”“Highlight Links,” “Adjust Font Sizing,” “Align Center,” and “TextMagnifier,” which all correspond to their own graphical elements 608 inthe form of user clickable buttons.

In some embodiments, at least one of the first predefined adjustment andthe second predefined adjustment are determined based on previouslycollected data. Data may be included or accessed in a data structure. Asdiscussed elsewhere in this disclosure, data structures may include anycollection of data values and relationships among them. The data may bestored linearly, horizontally, hierarchically, relationally,non-relationally, uni-dimensionally, multidimensionally, operationally,in an ordered manner, in an unordered manner, in an object-orientedmanner, in a centralized manner, in a decentralized manner, in adistributed manner, in a custom manner, or in any manner enabling dataaccess. Previously collected data may refer to data that was alreadygathered. This data may include a selection of a particularaccessibility profile, selection of a specific font type or font size,or any other website display parameters. In some embodiments, thepreviously collected data may be associated with a specific user thatselected the web accessibility profile. Advantageously, the previouslycollected data may be collected by the network when a specific userfirst uses and/or logs into the network. Upon using and/or logging intothe network, the specific user may select a web accessibility profilevision impaired profile. Thus, the previously collected data may bestored in an associated memory and/or saved to the specific user'sprofile to avoid redundant collections of the same data. For examples,at least one of a first predefined adjustment and a second predefinedadjustment may be determined based on previously collected data andtherefore may be linked to the user's profile vision impaired profile.Depending on the user profile, different first predefined adjustmentsand different second predefined adjustments may be determined based ondifferent previously collected data. In some embodiments, the previouslycollected data may be associated with multiple users having thedisability associated with the selected web accessibility profile. Forexample, a processor may collect data over time from multiple computingdevices used by multiple users with the same disability and webaccessibility profile. This collected data may be stored in a sharedmemory. This previously collected data may be used to determine betteror more accurate adjustments to website display parameters to increasethe efficiency and/or accuracy of displaying and modifying websites forusers with the disability.

In some embodiments, at least one of the first predefined adjustment andthe second predefined adjustment are determined based on a Web ContentAccessibility Guideline. Web Content Accessibility Guideline may referto recommendations for making web content more accessible, primarily forpeople with disabilities. An example of Web Content AccessibilityGuidelines includes WCAG 2.1. For example, at least one of the firstpredefined adjustment and the second predefined adjustments may bechanges according to WCAG 2.1. For example, at least one of the firstpredefined adjustment and the second predefined adjustment may be achange according to WCAG standard 1.3.4 to ensure that web content canbe displayed in the preferred orientation (e.g., portrait, landscape) ofa user, a change according to WCAG standard 1.3.6 to help identify theuser, or a change according to WCAG standard 1.4.10 to support lowvision users by enabling easier readability and tracking throughresponsive design. In some embodiments, the first predefined adjustmentmay be associated with a binary value, and the second predefinedadjustment may be associated with a range value. Binary value may referto two values, numbers expressed in the base-2 numeral system, thebinary numeral system, or a method of mathematical expression which usesonly two symbols. Non-limiting examples of binary values include “0”(zero) and “1” (one). A range value may refer to a number or set ofnumbers that vary or extend between specified limits or more than twovalues in between a maximum and a minimum. A non-limiting example of arange value may be a font size between 8 pt and 72 pt. For example, thefirst predefined adjustment may be associated with a binary value ofeither “0” or “1.” “0” may indicate that the first predefinedadjustment, changing the magnification of the website, is “OFF.” “1” mayindicate that the first predefined adjustment, changing themagnification of the website, is “ON.” For example, the secondpredefined adjustment may be associated with a range value between 8 ptand 72 pt for the font size. The second predefined adjustment may bechanging the font size from 8 pt to 16 pt.

In some embodiments, initiating the first change and the second changetransform a presentation of the website to conform with needs of a userhaving the disability associated with the selected web accessibilityprofile. Transforming a presentation of the website may refer tochanging, developing, alternating, modifying, or adjusting in any otherway the website's appearance, delivery, demonstration, display,arrangement, or any other representation of the website, as discussedmore fully in other portions of this disclosure. Non-limiting examplesof transforming the presentation of the website may include changing adisplay of the website presentation, changing an order of the websitepresentation, moving the website presentation in different positions,removing the website presentation, adding content to the websitepresentation, changing the font size of the website presentation,changing the color of the website presentation, changing website displayparameters associated with the website presentation, and changingwebsite code associated with the website presentation. In someembodiments, the transformation of the presentation of the website maybe cause the website to conform with needs of a user having a disabilityassociated with a selected web accessibility profile. Conforming withneeds of a user having a disability may refer to accommodating,complying, harmonizing, reconciling, or tailoring the website to therequirements, necessities, wants, or demands associated with the user'sdisability. For example, the selected web accessibility profile may be avision impaired profile. A user who selects this profile may have adisability including being visually impaired and finding it difficult tonavigate and/or read the website and its presentation. Thus, the usermay have needs relating to clarity of reading of the website and easiernavigation of the website. In this case, transformation of thepresentation of the website to conform with the user's disability mayinclude making a first change in a first website display parameter basedon an identified first predefined adjustment and making a second changein a second website display parameter based on an identified secondpredefined adjustment. For example, the transformation of thepresentation of the website may include one or more of changing a fonttype, increasing a font size, and/or increasing letter spacing of a mainheader and sub header of the website.

By way of example, FIG. 6 illustrates website 150 in the form ofpresentation 604. FIG. 7 illustrates website 150 transformed intopresentation 704. Website 150 may be transformed from presentation 604to presentation 704 after initiating first change 706A and second change706B. Website 150 may transform from presentation 604 to presentation704 to conform with needs of user 110 having a disability associatedwith a selected web accessibility profile. For example, the selected webaccessibility profile may be vision impaired profile 702A selected froma plurality of web accessibility profiles 702 as indicated inaccessibility GUI 400. A user who selects this profile 702A may have adisability including being visually impaired and find it difficult tonavigate and/or read website 150 and its presentation 604. Consistentwith the above example, website's 150 transformation from presentation604 to presentation 704 may include first change 706A in first websitedisplay parameters 504A and 504B (e.g., changing a font type to areadable font type and increasing a font size of a main website header)based on an identified first predefined adjustment. Transformation ofwebsite 150 may also include second change 706B in second websitedisplay parameters 504C and 504D (e.g., changing a font type to areadable font type and increasing a font size of a sub header) based onan identified second predefined adjustment.

There are several well-known disabilities, such as, attention deficithyperactivity disorder, learning disabilities, mobility disabilities,medical disabilities, psychiatric disabilities, traumatic brain injury,post-traumatic stress disorder, visual impairments, deaf and hard ofhearing, concussion, and autism spectrum disorders. The disclosedembodiments provide web accessibility profiles associated with thesedisabilities. In some embodiments, the plurality of web accessibilityprofiles may include more than two profiles. In some embodiments, theplurality of web accessibility profiles include at least two of: anepilepsy-safe profile, a vision impaired profile, a cognitive disabilityprofile, and an ADHD friendly profile. An epilepsy-safe profile, asdiscussed more fully in other portions of this disclosure, may refer toa profile designed to eliminate the risk of seizures that result fromflashing or blinking animations and risky color combinations. Thisprofile is especially advantageous for users with seizure disorders,including different types of epilepsy and migraines, which may be inreaction to visual flickering or audio signals at certain frequencies orpatterns. A vision impaired profile, as discussed more fully in otherportions of this disclosure, may refer to a profile designed for userswith disabilities such as degrading eyesight, tunnel vision, cataract,glaucoma, and sight limiting disabilities. A cognitive disabilityprofile, as discussed more fully in other portions of this disclosure,may refer to a profile designed to help users with cognitivedisabilities such as autism, dyslexia, CVA, and others, to focus onessential elements more easily. An ADHD friendly profile, as discussedmore fully in other portions of this disclosure, may refer to a profiledesigned to help users with ADHD and neurodevelopmental disordersbrowse, read, and focus on essential elements more easily.

By way of example, FIG. 6 illustrates accessibility GUI 400 and lists aplurality of web accessibility profiles 602. Web accessibility profilesmay include “visual impairment profile” 602A, “cognitive disabilityprofile” 602B, “Seizure Safe Profile” 602C, and “ADHD Friendly Profile”602D. In some embodiments, the plurality of web accessibility profiles602 may include the one, two, or all of the above-mentioned webaccessibility profiles.

In some embodiments, the transformed presentation may differ from adefault website presentation. Default website presentation may refer toan original or starting presentation of a website. Thus, in someembodiments, the transformed presentation of the website may bedifferent in at least one aspect, from the default website presentation.A non-limiting example of the default website presentation may be itsnative programmed presentation. For example, the default websitepresentation of ESPN.com may include the website and related pop-upadvertisements and images and instant play videos. The transformedpresentation of ESPN.com may include the website but not the relatedpop-up advertisements, images, nor instant play videos for easieraccessibility.

In some embodiments, the operations are executed in a browser sessionupon receiving a script from a remote server. A browser session mayrefer to any action or series of actions by a user on a website within atime frame. Non-limiting examples of actions during a browser sessionmay include search engines searches, filling out forms to receivecontent, scrolling on the website page, adding items to a virtualshopping cart, or simply viewing the website page itself. For example,the browser session may begin once the user first accesses the websiteand may end at a time when the user exits and/or leaves the website.Script may refer to a program or sequence of instructions that isinterpreted or carried out by another program, which may be executed bya processor. Non-limiting examples of script languages may include Perl,Rexx, JavaScript, and Tcl/Tk. A server may refer to a piece of computerhardware or software that provides functionality for other programs ordevices. Non-limiting examples of a server may include a web server, anapplication server, a communications server, a name server, anapplication programming interface, a database server, a file server, agame server, a media server, and a proxy server. Servers may becentralized, remote, and local. A remote server may include a computerthat is remotely located having a web server software, database, andother resources to handle remote requests sent by the user of thewebsite. For example, the remote server, during the browser session, maysend a local script (that may be processed on the user's computingdevice) to invoke a remote script on the remote server for processinginformation. A non-limiting example of executing the operations in thebrowser session upon receiving the script from the remote server mayinclude JavaScript Remote Scripting (JSRS). JSRS may use HyperTextMarkup Language, a document object model, a transport layer, and a dataformat. The document object model may be manipulated through JavaScriptto dynamically display and interact with the website. In someembodiments, a script tag or an iframe may be used instead of atransport layer.

Some embodiments involve displaying in the accessibility GUI graphicalelements for customizing the selected web accessibility profile; uponinitiating the first and second changes, receiving input indicative of adesired change in at least one of the first and second website displayparameters; and adjusting the at least one of the first and secondwebsite display parameters based on the input to implement the desiredchange. Graphical elements may refer to objects that show relationships,hierarchy, and emphasis virtually. Non-limiting examples may includeicons, menus, scroll bars, windows, transitional animations, anddialogue boxes. Customizing a selected web accessibility profile mayinclude changing, modifying, adjusting, correcting, reshaping, revising,reworking, tweaking, varying, or altering a web accessibility profile.For example, an accessibility GUI may be in the form of a menu pane on aleft side of a website. The accessibility GUI pane may include graphicalelements such as an “Accessibility Adjustments” window pane, “ON” and“OFF” buttons/toggles, a “Reset Settings” button, a “Statement” button,a “Hide Interface” button, a query window “Search the online dictionary. . . ,” circular icons adjacent to each web accessibility profile toindicate a selection of one or more than one of the web accessibilityprofiles, a “Content Adjustments” window pane, a “Content Scaling”window pane with a button to increase or decrease content scaling of thewebsite, an “Adjust Font Sizing” window pane with a button to increaseor decrease the font size of the website, and one or more buttonslabeled “Highlight Titles,” “Highlight Links,” “Readable Font,” “TextMagnifier,” and “Align Center.” Although some exemplary graphicalelements have been described above, it is contemplated that theaccessibility GUI may include one or more additional or alternativegraphical elements that may allow a user to adjust, change, or modifyone or more website display parameters. The one or more graphicalelements may allow a user to customize the one or more selected webaccessibility profiles.

In some embodiments, after a user selects a web accessibility profileone or more display parameters such as a first website display parameterand a second website display parameter may be changed from their defaultvalues. Subsequently, input indicative of a desired change in at leastone of the first change and the second change may be received. Inresponse, the first and/or the second display parameter may be furthermodified based on the received input. Advantageously, this may allowusers to further change and/or modify the website. For example, thefirst change may be a change of a font type from Calibri to Arial andthe second change may be a change from a font size of 8 pt to a fontsize of 10 pt. After these changes have been made, input may be receivedfor changing and/or adjusting the at least one of the first and secondwebsite display parameters. For example, an input may be received tochange the font type from the font type Arial to the font type Times NewRoman. Additionally, or alternatively, an input may be received tochange the font size from the font size of 10 pt to the font size of 12pt. Thus, even after selecting a web accessibility profile, the user maymodify the changes to website display parameters to further fine tunethe display of the website.

In some embodiments, upon initiating the first and second changesassociated with a first selected web accessibility profile, a selectionof a second web accessibility profile different from the first selectedweb accessibility profile may be received; reverting values of the firstand second website display parameters to default values; and initiatingat least one additional change to transform the presentation of thewebsite to conform with needs of a user having the disability associatedwith the second web accessibility profile. A user may enter input on acomputing device to select a second web accessibility profile. Forexample, the user may use a keyboard and/or mouse associated with thecomputing device to select from a graphical user interface and/ordisplay a graphical element corresponding to the second webaccessibility profile. For example, a first selected web accessibilityprofile may be a vision impaired profile. Another selection of a secondweb accessibility profile may be received that may be different than thefirst selected web accessibility profile. For example, the second webaccessibility profile may be received of an ADHD Friendly Profile.Reverting values of the first and second website display parameters mayinclude returning or changing the first and second website displayparameter values to a previous or default state and/or values. Defaultvalues may refer to values and/or parameters preselected and/orpredetermined by a computer program or other mechanism when noalternative is specified by a user or programmer. Advantageously, when adifferent web accessibility profile is selected, the first and secondwebsite display parameters, may be reverted to default website displayparameters. In some embodiments, the default website display parametersmay be associated with or correspond to the different web accessibilityprofile. Further, at least one additional change may be made totransform a presentation of the website to conform with needs of theuser having a disability associated with the second web accessibilityprofile. For example, if the second web accessibility profile is theADHD Friendly Profile the at least one additional change made may beremoving advertisements, images, or other distracters from thepresentation of the website. Some embodiments involve initiating the atleast one additional change to transform the presentation of the websiteto conform with needs of the user having disabilities associated withboth the first selected web accessibility profile and the second webaccessibility profile. For example, the at least one additional changeto transform the presentation of the website may be made to conform withneeds of the user having disabilities associated with both the visionimpaired profile and the ADHD Friendly Profile. This may be advantageousfor users who have more than one disability.

In some embodiments, the web accessibility profile selection may bestored to thereby enable accessibility of the user during a futurebrowsing session without reselection of the web accessibility profile.Web accessibility profiles may be stored in a memory. Memory, asdiscussed more fully in other portions of this disclosure, may include aRAM, a ROM, a hard desk, or any other mechanism capable of storinginstructions. A future browsing session may refer to a browser sessionat a future time and not the first or current browsing session at thefirst or current time. Advantageously, a user's selection of a webaccessibility profile may be saved and/or stored for future retrievalduring future browsing sessions so that the user does not need to selecthis or her web accessibility profile every browsing session. Forexample, the selection may be stored in a memory, in a database, in atable, in a relational table, or in a linked list. The selection, nomatter how it is stored, may be associated with a user identifier. Theuser identifier may include an IP address, a name of the user, and thetype of disability or disabilities. In a future browsing session,previous selections may be retrieved by a processor. For example, theuser may enter, via a computing device, a user identifier. This useridentifier is then compared to previously stored selection's useridentifiers to determine a match. Once a match is made, the previouslystored selection, with a matching user identifier to the one entered,may be selected.

According to another embodiment of the present disclosure, a method forenabling users to alter website presentations based on selected webaccessibility profiles may be provided. Such an exemplary methodincludes displaying an accessibility GUI for a website, wherein theaccessibility GUI may include a plurality of web accessibility profilesassociated with differing disabilities. Such a method further includesreceiving a selection of one of the plurality of web accessibilityprofiles. The exemplary method additionally includes identifying a firstpredefined adjustment to a first website display parameter associatedwith the selected web accessibility profile. Such a method furtherincludes initiating a first change in the first website displayparameter based on the identified first predefined adjustment to therebyaddress a first aspect of the disability associated with the selectedweb accessibility profile. The method additionally includes identifyinga second predefined adjustment to a second website display parameterassociated with the selected web accessibility profile. Moreover, suchan exemplary method includes initiating a second change in the secondwebsite display parameter based on the identified second predefinedadjustment to thereby address a second aspect of the disabilityassociated with the selected web accessibility profile. In someembodiments, initiating the first change and the second changetransforms a presentation of the website to conform with needs of a userhaving the disability associated with the selected web accessibilityprofile.

By way of example, FIG. 8 illustrates an exemplary method 800 forenabling users 110 to after website 150 presentations 604 based onselected web accessibility profiles. The steps of the disclosed method800 may be modified in any manner, including by reordering steps and/orinserting or deleting steps. Method 800 includes a step 802 ofdisplaying accessibility graphical user interface (GUI) 400 for website150, wherein accessibility GUI 400 includes a plurality of webaccessibility profiles 602 associated with differing disabilities.Method 800 includes a step 804 of receiving a selection of one of theplurality of web accessibility profiles 602. Method 800 includes a step806 of retrieving a first predefined adjustment to first website displayparameters 504A and 504B associated with the selected web accessibilityprofile. Method 800 includes a step 808 of initiating first change 706Ain first website display parameters 504A and 504B based on the retrievedfirst predefined adjustment to thereby address a first aspect of thedisability associated with the selected web accessibility profile.Method 800 includes a step 810 of retrieving a second predefinedadjustment to second website display parameters 504C and 504D associatedwith the selected web accessibility profile. Method 800 includes a step812 of initiating second change 706B in second website displayparameters 504C and 504D based on the retrieved second predefinedadjustment to thereby address a second aspect of the disabilityassociated with the selected web accessibility profile. Method 800includes a step 814 wherein initiating first change 706A and secondchange 706B transforms presentation 604 of the website 150 topresentation 704 to conform with needs of user 110 having the disabilityassociated with the selected web accessibility profile.

In some embodiments, a selected web accessibility profile may be avision impairment profile. When the selected web accessibility profileis the vision impairment profile, a first website display parameter maybe a content scaling parameter and a second website display parametermay be a saturation parameter. This profile may require changes to oneor more website display parameters such as changing the font type,changing the font size, or changing spacing. In some embodiments,content scaling and saturation may be changed. Content scaling, asdiscussed more fully in other portions of this disclosure, may refer toadjusting, increasing, or decreasing content on a website. A saturationparameter, as discussed more fully in other portions of this disclosure,may refer to an intensity of a color on a website. In some embodiments,the method further includes adjusting the content scaling parameter in awebsite code to increase content scaling and adjusting the saturationparameter in the website code to increase display intensity. Websitecode, as discussed more fully in other portions of this disclosure, mayrefer to programs, routines, functions, classes, data structures, and/orobjects. The website code may include descriptive text, such asHyperText Markup Language or extensible markup language. For example, ifthe user selects the vision impaired profile, the user may have a visualdisability such as degrading eyesight. Thus, to help users with visualimpairments, the content scaling parameter may be adjusted, by accessingand altering the website's code, to increase content scaling of thewebsite from 1× to 1.5× so the user may more easily see the website'scontent. Likewise, the saturation parameter may be adjusted, byaccessing and altering the website's code, to increase display intensityfrom 1 to 10 of the website so the user may more easily and clearly seethe website's content.

In some embodiments, a selected web accessibility profile may be acognitive disability profile. When the selected web accessibilityprofile is the cognitive disability profile, a first website displayparameter may be a highlight titles parameter and a second websitedisplay parameter may be a highlight actionable objects parameter. Thisprofile may require changes to one or more website display parameterssuch as changing the font type, changing the font size, or changingspacing. In some embodiments, highlight titles and highlight actionableobjects may be performed. Highlight titles, as discussed more fully inother portions of this disclosure, may refer to accents, emphases,features, bringing out, calling attention to, or underlining titles.Title may refer to a header on the website or any other descriptivename, word, characters, or combinations thereof. An example of ahighlight may include a colored overlay applied to one or more titles.The colored overlay may be in any color. Actionable objects may refer toobjects that a user may interact with. In some embodiments, the methodmay further include detecting titles and actionable objects associatedwith the website and highlighting on a user session basis the detectedtitles and actionable objects. For example, if the user selects the webaccessibility profile cognitive disability profile, the user may have acognitive disability such as autism, dyslexia, or CVA. Thus, to helpusers with cognitive impairments, highlight titles may be detected onthe website and highlighted with a yellow color. Additionally, oralternatively, actionable objects may be detected on the website andhighlighted with a green color. Advantageously, the user may more easilynavigate and access the website's content.

In some embodiments, a selected web accessibility profile may be anepilepsy-safe profile. When the selected web accessibility profile isthe epilepsy-safe profile, a first website display parameter may be asaturation parameter and a second website display parameter may be astop animation parameter. This profile may require changes to one ormore website display parameters such as changing the font type, changingthe font size, or changing spacing. In some embodiments, animations maybe stopped and saturation may be changed. A saturation parameter, asdiscussed more fully in other portions of this disclosure, may refer toan intensity of a color on a website. A stop animation parameter mayrefer to an animation, event, action, or process of the website to anend. Non-limiting examples of stop animation may include preventing ablinking animation and altering an animation's rate of change. In someembodiments, the method further includes adjusting the saturationparameter in a website code to decrease display intensity and executinga command in the website code to limit movement on a display. Websitecode, as discussed more fully in other portions of this disclosure, mayrefer to programs, routines, functions, classes, data structures, and/orobjects. The website code may include descriptive text, such asHyperText Markup Language or extensible markup language. For example, ifthe user selects the web accessibility profile epilepsy-safe profile,the user may have a disability or disorder related to seizures,including different types of epilepsy and migraines which may be areaction to visual flickering or audio signals at certain frequencies orpatterns. Thus, to help users with these impairments, the saturationparameter may be adjusted, by accessing and altering the website's code,to decrease display intensity of the website so the user may more easilysee the website's content. Likewise, the stop animation parameter mayexecute a command in the website code to limit movement on the displayof the website to prevent triggering a seizure, migraine, or other formof epilepsy of the user. In another example, limiting movement on thedisplay may be in the form of preventing blinking animation or alteringanimation on the website such that they do not change at a rate greaterthan three frames per second. Advantageously, these limitations ofmovement may also help prevent trigging a seizure, migraine, or otherform of epilepsy of the user.

In some embodiments, a selected web accessibility profile may be an ADHDfriendly profile. When the selected web accessibility profile is theADHD friendly profile, a first website display parameter may be acontent scaling parameter and a second website display parameter may bea stop animation parameter. This profile may require changes to one ormore website display parameters such as changing the font type, changingthe font size, or changing spacing. In some embodiments, content scalingmay be changed, and animations may be stopped. Content scaling, asdiscussed more fully in other portions of this disclosure, may refer toadjusting, increasing, or decreasing content on a website. A stopanimation parameter may refer to a command, code, or rule that causes ananimation, event, action, or process of the website to end or to bealtered. Non-limiting examples of stop animation may include preventinga blinking animation and altering an animation's rate of change. In someembodiments, the method further includes adjusting the content scalingparameter in a website code to increase content scaling and executing acommand in the website code to limit movement on a display. For example,if the user selects the web accessibility profile ADHD Friendly Profile,the user may have a disability related to distractions by noise ormovement and find it more difficult to browse, read, and focus onessential elements. Thus, to help users with ADHD, the content scalingparameter may be adjusted, by accessing and altering the website's code,to increase content scaling of the website so the user may more easilysee the website's content. Likewise, the stop animation parameter mayexecute a command in the website code to limit movement on the displayof the website to help the user focus and read the website. In anotherexample, limiting movement on the display may be in the form ofpreventing blinking animation or altering animation on the website suchthat they do not change at a rate greater than three frames per second.Advantageously, these limitations of movement may also help the userfocus. According to another embodiment of the present disclosure, asystem for enabling users to after website presentations based onselected web accessibility profiles may be provided. Consistent withdisclosed embodiments, the system includes a memory configured to storevalues of various website display parameters associated with a pluralityof web accessibility profiles. The system may also include at least oneprocessor. The system may display an accessibility GUI for a website,wherein the accessibility GUI may include a plurality of webaccessibility profiles associated with differing disabilities. Thesystem may receive a selection of one of the plurality of webaccessibility profiles. The system may identify a first predefinedadjustment to a first website display parameter associated with theselected web accessibility profile. The system may initiate a firstchange in the first website display parameter based on the identifiedfirst predefined adjustment to thereby address a first aspect of thedisability associated with the selected web accessibility profile. Thesystem may identify a second predefined adjustment to a second websitedisplay parameter associated with the selected web accessibilityprofile. The system may initiate a second change in the second websitedisplay parameter based on the identified second predefined adjustmentto thereby address a second aspect of the disability associated with theselected web accessibility profile. In some embodiments, initiate thefirst change and the second change transforms a presentation of thewebsite to conform with needs of a user having the disability associatedwith the selected web accessibility profile.

Some embodiments may enable a user to selectively activate or modify oneor more web accessibility profiles. By way of one example, thiscapability may be useful in situations where multiple users may be usingthe same device (e.g., at different times), and each user may requiredifferent accessibility options. For example, the device may belong toan institution such as a library, or residence and may be available tomultiple different users, each with a different disability. Thiscapability may additionally be useful in situations when a user wishesto further customize an accessibility profile to suit the individualneeds of the user. Disclosed embodiments may allow each user toselectively activate and/or modify (e.g., customize) one of multipleavailable web accessibility profiles, according to individual need. Thefollowing description discloses embodiments that may facilitate thisfunctionality.

In some instances, the description that follows refers to FIGS. 10A-10Cand 11. FIGS. 10A-10C, which illustrate an exemplary implementation of afirst and second website display change altering a plurality of initialvalues of a set of display parameters to address a specific disability,consistent with disclosed embodiments. FIG. 11 illustrates an exemplaryimplementation of a website display change altering a plurality ofinitial values of a set of display parameters to address anotherspecific disability, consistent with disclosed embodiments.

Some embodiments involve a non-transitory computer readable mediumcontaining instructions that when executed by at least one processorcause the at least one processor to perform operations for enablingusers to switch between web accessibility profiles. The term “webaccessibility profiles” may be understood as describe earlier. The Webaccessibility profiles may be switched by users either through manualselection or automatically through the use of cookies.

Some embodiments involve the at least one processor performing anoperation of receiving a command to open an accessibility graphicaluser-interface (GUI) for a website exhibiting a set of display parameterhaving initial values. The term “receiving” may refer to acquiring,obtaining, retrieving, or otherwise gaining access to information. Theat least one processor may obtain information synchronously, e.g., bypolling a memory buffer, queue or stack, or asynchronously, e.g., via aninterrupt event. The term “command” may refer to an instruction (e.g., aprogram code instruction), a value (e.g., assigned to a variable,parameter, or attribute), a setting, a flag (e.g., software and/orhardware via a pin of a chip), or any other information indicating tothe at least one processor to perform a specific action. For example,the command may cause the at least one processor to read and/or writedata to and from memory, execute one or more arithmetic and/or logicaloperations, and send and receive data, e.g., to and from one or moreperipheral devices. The term “open” may refer to accessing (e.g.,reading and/or writing from memory), retrieving, invoking, executing oneor more program code instructions, or performing any other action neededto render content, e.g., for the accessibility GUI. The terms “GUI”,“website” and “display parameter” may be understood as describedearlier. The term “initial values” may refer to one or more settings,attributes or characteristics that may be defined or established inadvance, for example as one or more default settings corresponding totypical, standard, or recommended use. For example, the initial valuesmay facilitate and/or simplify the rendering of a website on a computerdisplay for non-disabled users by defining default alignment, position,orientation, and size settings for displaying images, and font settingsfor displaying text.

At least one processor may render the content for the website on acomputer display. The website may display an indicator (e.g., a button,graphic, icon) associated with opening the accessibility GUI for thewebsite (e.g., by displaying the accessibility GUI adjacent to thewebsite). The indicator may be associated with an event listenerconfigured to notify the at least one processor when a user has selectedthe indicator, e.g., as a command to open the accessibility GUI. Onreceiving the command to open the accessibility GUI for the website(e.g., after the user selected the indicator), the at least oneprocessor may perform one or more read/write, arithmetic and/or logicaloperations needed for rendering the content for the accessibility GUI(e.g., opening the accessibility GUI), for example by retrieving sourcecode and/or content from an accessibility server and executing thesource code to render the content for the accessibility GUI. The websitemay be associated with one or more default display settings (e.g.,initial values for display parameters), such as a default font size,font style, background color, and default display characteristics. Theaccessibility GUI for the website may facilitate in modifying one ormore of the default display settings for the website, e.g., toaccommodate the disabled user who selected the indicator to open theaccessibility GUI.

FIGS. 10A-10C, together, illustrate one exemplary implementation of aninterface 1000 for opening an accessibility graphical user-interface(GUI) for a website associated with a set of display parameter havinginitial values. Interface 1000 includes a section 1002 for displaying awebsite 1004, and another section 1006 for displaying an accessibilityGUI 1008. Processing device 210A of FIG. 2 (e.g., at least oneprocessor) may receive a command (e.g., from cognitively impaired user110B using computing device 170B of FIG. 1) to open accessibility GUI1008 for website 1004. Processing device 210A may retrieve accessibilityGUI 1008, e.g., from accessibility service host 130 via communicationsnetwork 140. Website 1004 may be associated with a set of displayparameters having initial values, such as to produce the rendition ofwebsite 1004 illustrated in FIG. 10A. For example, the initial valuesfor the display parameters for website 1004 may cause a browserconfigured with device 170B to display a header 1010 of website 1004using a 16-point Times New Roman font, and to display plain whitebuttons 1012-1 to 1012_6 with accompanying text 1014A-1014B, e.g.,formatted using a 10-point font, as depicted in FIG. 10A.

Some embodiments may involve the performance of an operation ofdisplaying the accessibility GUI for the website, wherein theaccessibility GUI includes indications of a plurality of webaccessibility profiles, each web accessibility profile being associatedwith a differing disability. The term “displaying” may refer topresenting, exhibiting, or otherwise rendering visual content via acomputer interface, such as a computer display. For example, the atleast one processor may receive source code (e.g., HTML, CSS, andJavaScript instructions) associated with the accessibility GUI andexecute the source code to render visual content for the accessibilityGUI on a computer screen. The accessibility GUI may be displayed in anew browser window (e.g., different than the browser window for thewebsite), within the browser window for the website (e.g., inside aframe or drop-down list), inside a pop-up window, as apicture-in-picture (PIP) or using any other suitable interface fordisplaying the accessibility GUI. The term “indications” may refer toone or more labels, images, motifs, tokens, buttons, or other symbolsconfigured to identify or designate the plurality of web accessibilityprofiles. The term “web accessibility profiles” may be understood asdescribe herein above. The term “disability” may refer to aphysiological, neurological, psychological, or other health conditionthat may limit a person with the health condition from performingcertain activities which may be relatively simple to perform byindividuals who do not have the health condition.

Thus, on receiving the command, at least one processor may display theaccessibility GUI for the website. The accessibility GUI may include oneor more buttons, tags, or labels (e.g., indications) for multipledifferent web accessibility profiles, each corresponding to a differentdisability. The indications may allow a user with a disability to selectthe corresponding web accessibility profile, for example by clicking thebutton for the web accessibility profile, to assist the user innavigating the website. For example, one web accessibility profile maycorrespond to a cognitive disability and may allow modifying the formatfor displaying content, such as by replacing text of the webpage withimages. Another web accessibility profile may correspond to visualimpairment and may allow modifying the size and spacing of textdisplayed for the webpage, and/or invoking a screen reader to announceelements of the webpage.

In some exemplary embodiments, the plurality of web accessibilityprofiles includes at least two of: an epilepsy-safe profile, a visionimpaired profile, a cognitive disability profile, and an ADHD friendlyprofile. However, this list is not intended to limit the possible webaccessibility profiles provided by the accessibility GUI. In someembodiments, the accessibility GUI may include sub-profiles forsub-categories of disabilities. For example, visual impairment mayinclude multiple sub-categories of disability (e.g., mild to totalvision loss, or color blindness), and each sub-category for visualimpairment may have a corresponding sub-category web accessibilityprofile allowing user with a specific disability sub-category to modifythe rendering of content according to individual need. For example, mildvision loss (e.g., a sub-category of visual impairment) may have asub-category accessibility profile to enlarge the display of text,whereas total vision loss (e.g., another sub-category of visualimpairment) may have a sub-category accessibility profile to invoke ascreen reader.

FIG. 10A illustrates a non-limiting exemplary implementation ofaccessibility GUI 1008 displayed for website 1004, consistent with somedisclosed embodiments. Processing device 210A (FIG. 2) of device 170 maydisplay accessibility GUI 1008 via output interface 242. Theaccessibility GUI 1008 may be displayed in section 1006 of interface1000, adjacent to website 1004 displayed in section 1002. Multipleindications (e.g., buttons 1016_1 to 1016_6) of a plurality of webaccessibility profiles may be included in accessibility GUI 1008, eachweb accessibility profile being associated with a differing disability.For example, button 1016_1 may correspond to a Seizure Safe Profile(e.g., epilepsy safe profile) for individuals suffering from seizures orepilepsy, button 1016_2 may correspond to a visual impairment profilefor individuals suffering from vision impairment, button 1016_3 maycorrespond to a cognitive disability profile for individuals sufferingfrom cognitive disabilities, button 1016_4 may correspond to an ADHDFriendly Profile for individuals suffering from ADHD, button 1016_5 maycorrespond to a Blind Users Profile for individuals suffering fromsevere vision impairment, and button 1016_6 may correspond to a KeyboardNavigation Profile for individuals suffering from motor impairment.Additional indicators may be provided for additional disabilities. Theseexamples are intended for illustrative purposes only, and do not limitthe invention to any specific implementations.

Some embodiments involve receiving a first input via the accessibilityGUI indicative of a selection of a specific web accessibility profileassociated with a specific disability. The term “receiving” may beunderstood as described herein above. The term “input” may include anytype of data provided by a user via an input device. Examples of aninput device may include a keyboard, a mouse, a touch pad, a touchscreen, a joystick, a microphone, an image sensor, and/or any otherdevice that conveys signals (directly or indirectly) to the computingdevice. Received input may be formatted as at least one of: text,symbols, a selection of a web element, sounds, speech, hand gestures,body gestures, or tactile information. In some embodiments, the at leastone processor may receive at least a portion of the first input as anotification, for example as an interrupt event from a peripheral inputdevice used by the user to make a selection. The at least one processormay access a buffer associated with the peripheral device to receiveadditional input, e.g., information associated with the selection.

For example, a user who is cognitively impaired may select an option ofthe accessibility GUI for the web accessibility profile corresponding tocognitive impairment, e.g., from a menu. The selection may occur, forexample, via a touch sensitive screen or through a mouse click. An eventlistener associated with the selected option may detect the selectionand send a notification to the at least one processor. The at least oneprocessor may probe the state of the option (e.g., a button with anON/OFF toggle setting) and determine that the option has been selected(e.g., the state of the button is ON), thereby receiving the first inputvia the accessibility GUI. The first input may thus indicate to the atleast one processor that the first user has selected the webaccessibility profile for cognitive impairment, which is associated withcognitive disability.

FIG. 10A illustrates an exemplary implementation for receiving a firstinput via the accessibility GUI indicative of a selection of a specificweb accessibility profile associated with a specific disability,consistent with some disclosed embodiments. For example, processingdevice 210A (FIG. 2) of computing device 170B (FIG. 1) may receive afirst input, e.g., from user 110B, indicating the selection of button1016_3 corresponding to the cognitive impairment web accessibilityprofile associated with a cognitive disability. User 110B may make theselection via input interface 240, such as by selecting button 1016_3.An event listener associated with button 1016_3 may detect the selectionof button 1016_3 (e.g., switched to ON) via interface 240, for exampleas a mouse click, keyboard press, joystick maneuver, touch via atouch-sensitive screen, voice command, head, hand or foot gesture, orany other suitable input means. The event listener may send anotification of the selection to processing device 210A, which maydetermine the selection of the cognitive impairment web accessibilityprofile, thereby receiving the first input via accessibility GUI 1008.

Some embodiments involve, based on the first input, implementing a firstwebsite display change corresponding to the specific accessibilityprofile. The term “website display change” may refer to modifying,replacing, substituting, or otherwise altering a rendering of one ormore visual elements of the website. For example, the website displaychange may switch the rendering of an element of the website from adefault display setting (e.g., recommended for non-disabled users) to asetting defined for one of the web accessibility profiles for a specificdisability. The change may be implemented via any suitable outputmedium, such as but not limited to a visual medium (e.g., a displayscreen) an audio medium (e.g., a speaker), a tactile medium (e.g., avibrating motor), and any other output medium configured to conveyinformation to the user. Thus, based on the first input (e.g., theselection of the specific web accessibility profile), the at least oneprocessor may modify or alter the rendering of one or more displayelements of the website, to thereby implement the website displaychange. For example, according to the initial values for the displayparameters for the website, a header may be displayed as black textagainst a white background, and navigation buttons may be displayed witha plain format and accompanying text below. Displayed thus (e.g.,according to the initial values), a user with cognitive disability mayhave difficulty distinguishing the header from other text or knowingwhich navigation button to press. On determining the selection of theweb accessibility profile for cognitive impairment, the at least oneprocessor may modify, enhance, or augment the display of the webpage,for example by changing the color of the header and by adding one ormore graphic images to facilitate the navigation of the website byindividuals who are cognitively impaired.

FIGS. 10A-10B illustrate an example of implementing, based on the firstinput, a first website display change corresponding to the specificaccessibility profile, consistent with some disclosed embodiments. FIG.10A may correspond to an original, unmodified rendering of webpage 1004,e.g., displayed according to the initial values for the set of displayparameters for website 1004. According to the initial values (e.g.,before the first website display change is implemented) navigationbuttons 1012_1 to 1012_6 are displayed using a plain white format withaccompanying text. In addition, the text for header 1010 is displayed inblack against a white background using a Times New Roman 16-point font.Turning to FIG. 10B, on determining the selection of the cognitiveimpairment web accessibility profile of accessibility GUI 1008 (e.g.,corresponding to setting button 1016_3 to ON), processing device 210A(FIG. 2) may implement the first website display change by modifying thedisplay of webpage 1004 according to one or more display parametervalues store in advance for the cognitive impairment web accessibilityprofile, such as at memory device 220A. For example, processing device210A may modify the display of buttons 1012_1 to 1012_6 by addingdescriptive graphic images that complement text 1014A-1014B.

Some embodiments may involve implementing the first website displaychange, wherein the first website display change alters a plurality ofthe initial values of the set of display parameters to address thespecific disability. The term “alter a plurality of initial values” mayrefer to substituting, replacing, or otherwise changing at least one ofthe initial values (e.g., a plurality of the predefined, recommended, ordefault settings) defined for the website. The term “address” may referto targeting, handling, facilitating, or otherwise assisting with one ormore aspects related to the specific disability, for example tofacilitate the navigation of the website by an individual having thespecific disability. Thus, in some embodiments, to implement the firstwebsite display change, the at least one processor may modify (e.g.,alter) one or more different default or predefined display settings(e.g., initial values of the set of display parameters) for the website.For example, if the initial values for the display parameters cause oneor more navigation buttons to be displayed using a plain white formatand accompanying text, the first website display change may augment thedisplay of the navigation buttons with one or more descriptive images,allowing cognitively impaired individuals to understand the context orpurpose for each navigation button. Similarly, if the initial values forthe display parameters cause a header to be displayed using black textagainst a white background, the first website display change may modifythe background color for the header to yellow, to assist indistinguishing the header from other text of the website. Modifying atleast one of the display parameters thus may facilitate individuals withcognitive disabilities to navigate the website with greater ease. Inthis manner, the first website display change may address cognitivedisability. The foregoing are simply a few examples for illustrativepurposes. Any modification to default display parameters to address aspecific disability may qualify as addressing the specific disability.

FIGS. 10A-10B, together, illustrates an exemplary implementation for atleast one processor implementing the first website display change,wherein the first website display change alters a plurality of theinitial values of the set of display parameters to address the specificdisability, consistent with some disclosed embodiments. For example,turning to FIG. 10A, the initial values for the display parameters forwebsite 1004 may cause navigation buttons 1012_1 to 1012_6 to bedisplayed with a plain white format with accompanying text, e.g.,according to a default display setting recommended for non-disabledusers. Similarly, the text for header 1010 may be displayed blackagainst a white background a Times New Roman 16-point font. User 110B,having a cognitive disability, may have difficulty distinguishing header1010 from other text on webpage 1004, and may have further difficultycomprehending the context for each of navigation buttons 1012_1 to1012_6. These difficulties may hinder the ability of user 110B tonavigate website 1004. To address this, user 110B may select thecognitive disability profile as described above. In response to theselection (e.g., the first input), processing device 210A (FIG. 2) mayalter the background color for header 1010 to yellow, allowing header1010 to be clearly distinguished from other text displayed on webpage1004. Additionally, processing device 210A may add descriptive images toone or more of navigation buttons 1012_1 to 1012_6 that complement text1014A-1014B, allowing user 1103 to understand the context for each ofnavigation buttons 1012_1 to 1012_6, despite difficulty in readingcomprehension. Due to these changes, user 110B may be able to navigatewebsite 1004 more efficiently and access relevant information andservices. In this manner, the first website display change implementedby processing device 210A may address the cognitive disability (e.g.,the specific disability) of user 110B.

Some embodiments may involve receiving a second input via theaccessibility GUI. The term “receiving,” and “input” may be understoodas described earlier. As one example, the user may wish to furthercustomize the display of the website to accommodate specific needs orpreferences (e.g., a cognitively impaired user may drill down into oneor more sub-categories of the cognitive disability profile). As anotherexample, the computing device may belong to an institution (e.g., publiclibrary, or hostel) that may serve many different users. After the firstuser with a first disability (e.g., cognitive impairment) has finishedusing the computing device, a second user with a second disability(e.g., visual impairment) may wish to use the same computing device andswitch the web accessibility profile to accommodate the seconddisability. The second input may be provided using any suitabletechnique, such as by reciting a voice command into a microphone,performing a head, hand, or foot gesture, or selecting a graphic webelement of the accessibility GUI via a mouse, keyboard, touch sensitivescreen, or any other selection technique. An event listener may detectthe selection and send a notification to the at least one processor. Theat least one processor may determine that the option has been selected,thereby receiving the second input via the accessibility GUI. Returningto the first example, the second input may indicate to the at least oneprocessor that the user (e.g., the cognitively impaired user) hasselected to further modify the display of the website, e.g., within asub-category of the cognitive disability profile. Returning to thesecond example, the second input may indicate to the at least oneprocessor that a second user (e.g., visually impaired user) has selectedto switch to a different web accessibility profile associated withvision disability.

FIGS. 10C and 11 illustrate exemplary implementations for at least oneprocessor receiving a second input via the accessibility GUI, consistentwith some disclosed embodiments. FIG. 10C illustrates an exemplaryimplementation of the first example. Processing device 210A (FIG. 2) ofcomputing device 170A (FIG. 1) may receive the second input that user110B has selected a sub-category associated with the cognitiveimpairment web accessibility profile. For example, user 116B may makethe selection by touching a button on a touch-sensitive screen. An eventlistener associated with the button may notify processing device 210A ofthe selection (e.g., switched to ON). In this manner, processing device210A may receive the second input from user 110E via accessibility GUI1008.

FIG. 11 illustrates an exemplary implementation of the second example.Processing device 210A (FIG. 2) of computing device 170A (FIG. 1) mayreceive the second input that user 110A has selected the visualimpairment web accessibility profile associated with visual disability.For example, user 110A may make the selection by reciting a voicecommand into a microphone configured with input interface 240. An eventlistener associated with button 1016_2 may detect the selection ofbutton 1016_2 (e.g., switched to ON) via the voice command, and maynotify processing device 210A, accordingly. In this manner, processingdevice 210A may receive the second input from user 110A viaaccessibility GUI 1008.

Some embodiments may involve, based on the second input, implementing asecond website display change, wherein the second website display changecauses an adjustment to the altered values of the set of displayparameters. The term “causes an adjustment” may refer to an action thatmodifies, alters, reconfigures, or otherwise redefines a value. Thus,causing an adjustment to the altered values may refer to modifying(again) the values for the set of display parameters, for example, bymodifying the values that were altered above for the first websitedisplay change. In other words, the first input may cause a firstalteration changing the initial values for the display parameters. Thesecond input may cause a second alteration of the first altered values,further changing the values for the set of display parameters, e.g., tocustomize the first alteration for the first disability, or to implementa different profile for a second disability.

Returning to the first example (e.g., customizing the first alterationfor the first disability), the at least one processor may makeadditional changes to the header (e.g., after changing the backgroundcolor in the first alteration) such as by increasing the font size,changing the font type, and simplifying the text, thereby causing anadjustment to the altered values of the set of display parameters.Returning to the second example (e.g., implementing a different profilecorresponding to a second disability) the at least one processor mayundo or reverse one or more of the modifications implemented in responseto the first input, for example if the modifications do not address thesecond disability. Accordingly, the at least one processor may removethe descriptive images previously added to the navigation buttons, sincethese might not assist a visually impaired user, yet cause increasedoverhead when loading the webpage. Instead, the at least one processormay trigger a speech synthesizer to vocalize the descriptive text undereach navigation button.

FIG. 10C illustrates an exemplary implementation for at least oneprocessor implementing a second website display change based on thesecond input, causing an adjustment to the altered values of the set ofdisplay parameters, consistent with disclosed embodiments, e.g., thefirst example. One receiving a notification (e.g., the second input)that user 1108 (FIG. 1) selected a sub-category of the cognitivedisability profile (button 1016_3), processing device 210A may retrieve(e.g., from memory device 220A) one or more settings recommended for aspecific type of cognitive impairment corresponding to user 1108.Processing device 210A may apply the one or more setting to customizethe display of webpage 1104 depicted in FIG. 108 (e.g., the after thefirst alteration accommodating cognitively impaired users in general) toaccommodate the specific needs of user 1108, as depicted in FIG. 10C.For example, processing device 210A may increase the font size of header1010 from 16 points to 20 points, change the font type from Times NewRoman to Arial, and limit the length of the text displayed to makeheader 1010 more readable.

FIG. 11 illustrates an exemplary implementation for at least oneprocessor implementing a second website display change based on thesecond input, causing an adjustment to the altered values of the set ofdisplay parameters, consistent with disclosed embodiments, e.g., thesecond example. One receiving a notification (e.g., the second input)that user 110A (FIG. 1) selected the visual impairment profile (button1016_2), processing device 210A may retrieve (e.g., from memory device220A) one or more settings recommended for visually impaired users.Processing device 210A may apply the settings to modify the display ofwebsite 1004 from the display depicted in FIG. 108 accommodating userswith cognitive disabilities, to the display depicted in FIG. 11 toaccommodate users with visual impairment. For example, processing device210A may increase the font size of header 1010 from 16 points to 20points and may change the font type from Times New Roman to Arial, whichmay be simpler to read. Processing device 210A may additionally increasethe font size (e.g., from 10-points to 14-points) for text 1014Aaccompanying navigation buttons 1012_1 to 1012_3. The larger font sizemay improve legibility for visually impaired users. In addition,processing device 210A may remove the graphic images from navigationbuttons 1012_1 to 1012_6.

According to some embodiments, the second input is configured to causethe website to revert to the initial values of the set of displayparameters. The term “revert” may be understood as return or reset,e.g., to a former state. For example, the at least one processor mayreset the values for the set of display parameters, which were modifiedafter receiving the first input, back to the original (e.g., initial)values assigned to the set of display parameters before the first inputwas received. Continuing with the second example given above, thenavigation buttons were initially displayed using a plain white formatwith accompanying text below. Upon receiving the first input (e.g., fromthe cognitively disabled user), the at least one processor added one ormore descriptive images to the navigation buttons to assist thecognitively disabled user to navigate the website. However, the imagesmay not be of much help to the visually disabled user, who may be betterassisted by a screen reader vocalizing the text. Thus, on receiving thesecond input (e.g., from the visually disabled user), the at least oneprocessor may reset the values for the display parameters for thenavigation buttons to restore the original (e.g., initial) values, forexample by removing the descriptive images that were added afterreceiving the first input. Consequently, the navigation buttons may bedisplayed again according to the initial values, e.g., using the plainwhite format with accompanying text below.

FIGS. 10A-10B and 11 illustrate an exemplary implementation for a secondinput causing the website to revert to the initial values of the set ofdisplay parameters. FIG. 10A shows navigation buttons 1012_1 to 1012_6displayed according to the initial values of the set of displayparameters for website 1004. Accordingly, buttons 1012_1 to 1012_6 aredisplayed using a plain white format, with descriptive text below. FIG.10B illustrates navigation buttons 1012_1 to 1012_6 after the firstinput was received from cognitively disabled user 110B and processingdevice 210A (FIG. 2) altered some initial values of the displayparameters. Accordingly, in FIG. 10B navigation buttons 1012_1 to 1012_6are displayed with images describing the context or purpose ofnavigation buttons 1012_1 to 1012_6. FIG. 11 illustrates navigationbuttons 1012_1 to 1012_6 after the second input was received andprocessing device 210A has reverted the values of display parameters tothe initial values. Accordingly, navigation buttons 1012_1 to 1012_6 areagain displayed using a plain white format, with descriptive text below.

According to some embodiments, the second input is configured toactivate an alternative web accessibility profile different from thespecific accessibility profile. The term “alternate” may refer to other,alternative, or distinct, e.g., from the specific accessibility profile.For example, if the first input activated the web accessibility profilefor cognitively disabled users (e.g., the specific accessibilityprofile), the second input may activate the web accessibility profilefor visually disabled users (e.g., the alternative web accessibilityprofile), which is different than the web accessibility profile forcognitively disabled users.

FIGS. 10A-10B and 11 illustrate an exemplary implementation of thesecond input activating an alternative web accessibility profile,different from the specific accessibility profile. FIG. 10B illustratesthe activation (e.g., via the first input) of the cognitive disabilityprofile (corresponding to button 1016_3) addressing cognitivedisabilities. Accordingly, navigation buttons 1012_1 to 1012_6 aredisplayed with accompanying graphic images. FIG. 11 illustrates theactivation (e.g., by the second input) of the visual impairment profile(corresponding to button 1016_2) addressing visual disabilities.Navigation buttons 1012_1 to 1012_6 are displayed according to theoriginal (e.g., initial) plain white setting. However, descriptive text1014A under navigation buttons 1012_1 to 1012_3 is displayed using alarger and clearer font (e.g., 14pt. Arial instead of 10pt. Times NewRoman), e.g., to address the needs of visually disabled users.

According to some embodiments, the second input is configured tocustomize the specific accessibility profile. The term “customize” maybe understood as modifying or changing in a specific manner, e.g., tosuit a particular or individual purpose. Thus, the second input may makefurther changes to one or more display parameters in a manner topersonalize the display for the user. For example, if the user is visionimpaired, the first input may select the visual impairment profile.However, this profile may accommodate a wide range of users, from mildlyimpaired to blind. For example, a mildly impaired user may be assistedwith a larger font for displaying text, whereas a blind user may beassisted by a screen reader. Thus, the second input may correspond to asub-category for visually impaired and make additional modificationsthat individualize or personalize the rendering of the webpage accordingto the needs of the user.

FIG. 10C illustrates an exemplary implementation of a second input forcustomizing the specific accessibility profile. After selecting thecognitive disability profile corresponding to button 1016_3 (e.g., thefirst input), accessibility GUI 1008 may display additional displayoptions, such as Content Adjustments 1026, including options for contentscaling, readable font, text magnifier, and highlighting links andtitles. The options of Content Adjustments 1026 may relate to one ormore sub-categories for accommodating users with cognitive impairment.User 110B may personalize the display of website 1004 according toindividual need, such as by changing the font size and type for heading1010 and limiting the amount of text displayed. In this manner, thesecond input may enable user 110A to further customize the display ofwebsite 1004.

Similarly, FIG. 11 illustrates an exemplary implementation of a secondinput for customizing the specific accessibility profile. Afterselecting the visual impairment profile corresponding to button 1016_2(e.g., the first input), accessibility GUI 1008 may display additionaldisplay options, for example one or more dials, fields, or sliding barsto adjust the font size 1018, line height 1020, and letter spacing 1022.The additional display options may relate to one or more sub-categoriesof vision impairment, for example by recommending one set of options formild vision loss, and a separate set of options for severe vision loss.User 110A may have only mild visual disability and may not need as manyaccessibility modifications as a blind user. Accordingly, user 110A maypersonalize the display of website 1004, such as by increasing the fontsize for text 1014A-1014B just enough to suit the individual needs ofuser 110A. In this manner, the second input may enable user 110A tofurther customize the display of website 1004.

According to some embodiments, the first website display change alters aplurality of display parameters in the set of display parameters, thealtered display parameters conforming to the specific accessibilityprofile. The term “a plurality of display parameters in the set ofdisplay parameters” may refer to a subset, e.g., some or all, of the setof display parameter for the website. For example, some displayparameters for a website may relate to text (e.g., font size, color,line height), page layout (e.g., positioning of frames and headers,margins), graphics (e.g., size, resolution), as well as definingoptional content, e.g., that may be displayed (or hidden) only oncertain devices. For this website, the first website display change maythus alter some or all of the parameters defined for any of the text,page layout, graphic and optional content (e.g., a plurality of thedisplay parameters). The term “conforming” may refer to complying withor accommodating, e.g., according to one or more recommended or requiredcriteria, standards, or regulations. Thus, the modifications made to thedisplay parameters (e.g., altered display parameters) may accommodate orcomply with one or more recommended standards set by the specificaccessibility profile, e.g., to address the corresponding disability.For example, for users with cognitive impairment, the cognitivedisability profile for a website may define display parameters relatingto text (e.g., min font size and line height), graphics (e.g., optionsto show or hide), and audio voice options (e.g., via a screen reader andvoice recognition software). A first user with only mild cognitiveimpairment may select the cognitive disability profile (e.g., thespecific accessibility profile) and adjust only the display of thenavigation buttons (e.g., a plurality of display parameters in the setof display parameters) by adding descriptive images. Altering thedisplay parameters thus may meet one or more criteria set by thecognitive disability profile for users with mild cognitive impairment,thereby conforming to the specific accessibility profile.

FIG. 10B illustrates an exemplary implementation of a website displaychange altering a plurality of the set of display parameters, in amanner to conform to the specific accessibility profile, consistent withdisclosed embodiments. For example, to address one or more needs ofusers with cognitive disabilities, cognitive Display Profile 1012_3 maydefine multiple display parameters for website 1004, such as relating totext (e.g., style, size, and highlight), graphics (e.g., to substituteor complement text), and voice audio options, and any other parameterrelating to using website 1004. Upon receiving the first input from user110B (FIG. 1) indicating the selection of cognitive disability profile1012_3, processing device 210A may implement the first website displaychange, e.g., by adding descriptive images to navigation buttons 1012_1to 1012_6 and adding a highlighting background to header 1010, inaccordance with criterion defined by cognitive disability profile1012_3. In this manner, the display parameters altered in the firstwebsite display change may conform to the specific accessibilityprofile.

In some embodiments the second website display change includes anadjustment to at least one of the plurality of display parameters.Returning to the example above, after the first website display changeis completed, a second user with medium cognitive impairment may alsoselect the cognitive disability profile . The second website displaychange may increase the font size of header 1010 from 14 to 20 pointsand change the font style to Arial, e.g., to conform with recommendedaccommodations for users with medium cognitive impairment. FIG. 10Cillustrates an exemplary implementation for the second website displaychange adjusting at least one of the plurality of display parameters,consistent with disclosed embodiments. On receiving the second input,e.g., from user 110B via device 170B (FIG. 1), processing device 210A(FIG. 2) may increase the font for display header 1010 to 20 points andchange the font type to Arial, thereby adjusting at least one of theplurality of display parameters.

According to some embodiments, the second website display changeincludes an adjustment to at least one additional display parameterother than a display parameter in the set of display parameters. Thus,the second website display change may adjust a new display parameterother than the set of display parameters defined for the webpage.Returning to the example above, after the first website display changeis completed (e.g., for the user with mild cognitive impairment), asecond user with medium cognitive impairment may also select thecognitive disability profile . Whereas the first website display changedid not invoke an audio voice option, the second website display changemay invoke the audio voice option, e.g., to conform with recommendedaccommodations for users with medium cognitive impairment. However, theaudio voice option is not defined for the website (e.g., it is otherthan a display parameter in the set of display parameters).

FIG. 10C illustrates an exemplary implementation for the second websitedisplay change adjusting at least one additional display parameter otherthan the set of display parameters, consistent with disclosedembodiments. On receiving the second input, e.g., from user 110B viadevice 170B (FIG. 1), processing device 210A (FIG. 2) may enable anaudio voice option by invoking a microphone and voice recognitionsoftware configured with input interface 240 and a speaker and screenreader configured with output interface 242. By vocalizing contentdisplayed via website 1004, the at least one processor may adjust atleast one display parameter of the website (e.g., by converting it to anaudio signal) other than one of the display parameters in the set ofdisplay parameters. However, the audio voice option may not be definedin the set of display parameters for website 1004.

According to some embodiments, the second website display changeincludes an adjustment to all of the display parameters in the set ofdisplay parameters and an adjustment to at least one additional displayparameter other than a display parameter in the set of displayparameters. For example, the set of display parameters defined for awebsite (e.g., associated with the website) may include default settingsfor text and graphics, but may not define a minimum window size. Thesecond website display change (e.g., corresponding to visual impairmentprofile) may adjust all of the default text, graphics, and additionallymay enlarge the window size displaying the webpage, e.g., to conformwith a recommended minimum window size for the visual impairmentprofile. FIG. 11 illustrates an exemplary implementation for a secondwebsite display change adjusting all of the display parameters in theset associated with a webpage, as well as a parameter not included inthe set of display parameters. While webpage 1004 may be associated withdisplay parameters for text and page layout (e.g., the set of displayparameters), webpage 1004 may not have a minimum window size defined forrendering content. Nonetheless, on receiving the second input (e.g.,selection of visual impairment profile 1016_2), processor 210A (FIG. 2)may adjust the settings for any text, e.g., by increasing the font size,and hiding text 1014B, thereby adjusting all the display parameters inthe set of display parameters. In addition, processor 210A may increasethe size of the window displaying webpage 1004, e.g., to conform with aminimum size recommendation for users who are visually impaired, eventhough window size is a display parameter other than (e.g., not includedin) the set of display parameters associated with webpage 1004.

According to some embodiments, at least one value of the plurality ofdisplay parameters is determined based on previously collected data. Theterm “previously collected data” may refer to data gathered and storedfor a specific user or situation, a specific group of users orsituations, or from a general group of users or situations. Thepreviously collected data may be stored in memory, and analyzed, forexample via a pattern recognition or learning algorithm to reveal aninclination or preference for certain display parameter settings overothers. For example, FIG. 11 illustrates an exemplary implementation ofdetermining at least one value of the plurality of display parametersbased on previously collected data, consistent with disclosedembodiments. For example, based on previous uses of accessibility GUI1008, processor 210A may determine a pattern among users with mildvisual impairment preferring a font size of 16 points, versus users withheavier visual impairment who prefer a font size of 20 points. Processor210A may adjust the font size (e.g., at least one display parameter)based on this history, e.g., by increasing the font size to 16 pointsfor users with mild visual impairment, and to 20 points for users withheavy visual impairment.

According to some embodiments, a command includes a selection of agraphical element displayed on the website. For example, before openingthe accessibility GUI, a website may display an image, e.g., embeddedwith a button, to allow a user to open the accessibility GUI by clicking(e.g., selecting) the image. Some embodiments may provide a voicecommand option alongside, or in place of the graphical display element.FIGS. 10A-10B, and 11 illustrate an exemplary embodiment for a commandthat includes a selection of a graphical element displayed on a website,consistent with disclosed embodiments. Website 1004 may display a button2024 depicting a graphic symbol associated with accessibility. Clickingon button 2024 may cause processing device 210A to open (e.g., display)accessibility GUI 1008.

According to some embodiments, the second input from the accessibilityGUI is indicative of a selection of a second web accessibility profile,and the operations further include receiving a third input via theaccessibility GUI indicative of a selection of a third web accessibilityprofile, and based on the third input, implementing at least a thirdwebsite display change to address a disability associated with the thirdweb accessibility profile. For example, turning to FIG. 10A, a firstuser having a cognitive disability may select cognitive disabilityprofile 1016_3 (e.g., the first input). After processor 210A (FIG. 2)implements the first display change to website 1004 on output interface242 (e.g., corresponding to the first input to accommodate cognitiveimpairment), a user who is visually disabled may select visualimpairment profile 1016_2 (e.g., the second input). After processor 210Aimplements the second display change to website 1004 on output interface242 (e.g., corresponding to the second input to accommodate visualimpairment), a third user who is epileptic may select Seizure SafeProfile 1016_1 (e.g., the third input). Processor 210A of computingdevice 170C may implement the third display change to website 1004 onoutput interface 242, corresponding to the third input to accommodateusers who are prone to seizures. In this manner, processor 210A mayimplement multiple website display changes, each addressing a differentdisability.

According to some embodiments, the second input from the accessibilityGUI is indicative of a selection of a second web accessibility profile,and the operations further include receiving a third input via theaccessibility GUI indicative of a reselection of the specific webaccessibility profile, and based on the third input, implementing atleast a third change to address the specific disability associated withthe specific web accessibility profile. For example, turning to FIGS.10A-10B and 11, a first user having a cognitive disability may selectcognitive disability profile 1016_3 (e.g., the specific webaccessibility profile). After processor 210A (FIG. 2) implements thefirst display change (e.g., by displaying graphic images insidenavigation buttons 1012_1-1012_6, shown in FIG. 10B), a second user whois visually disabled may select visual impairment profile 1016_2 (e.g.,the second input). After processor 210A implements the second displaychange (e.g., by hiding graphic images inside navigation buttons1012_1-1012_6 and vocalizing accompanying text 1014A and 1014B via ascreen reader) a third user who is also cognitively impaired mayreselect (e.g., again, for the second time) cognitive disability profile1016_3 (e.g., the third input indicative of a reselection of thespecific web accessibility profile). Processor 210A of computing device1700 may implement the third display change, e.g., by re-displayinggraphic images inside navigation buttons 1012_1-1012_6 (FIG. 10B), toaccommodate users who are cognitively disabled.

According to some embodiments, the set of display parameters of thewebsite include at least two of: content scaling, readable font,highlight titles, highlight links, text magnifier, font size, lineheight, letter spacing, align center, align left, align right, contrast,monochrome, saturation, text colors, title colors, background color,mute sounds, hide images, read mode, reading guide, stop animation,highlight hover, and cursor appearance. The display parameter “contentscaling” may refer to adjusting the size of text, icons, images,navigation elements and any other displayed elements in a manner tofacilitate reading and use. The display parameter “readable font” mayrefer to a style of text. The style may correspond to an assortment orset of type or characters. The font may be readable if it is intendedfor reading by a user and/or if it is required to comply with regulatoryefforts to assist people with disabilities. The display parameters“highlight titles” and “highlight links” may refer to enhancing thevisual display of titles and links, e.g., by changing the color of thetitles and links. Or adding a colored background. The display parameter“text magnifier” may refer to a feature that allows users to enlarge(e.g., zoom in) or otherwise enhance the visibility of displayed textcontent. The display parameters “font size,” “line height”, and “letterspacing” may refer to sizes (e.g., in pixels) for displaying textcontent. The display parameters “align center, align left, align right”may refer to how text is arranged or adjusted (e.g., against a margin)on a webpage. The display parameters “monochrome, saturation, textcolors, title colors, background color” may refer to one or more RedBlue or Green (RBG) color values assigned to one or more display pixels,e.g., of output interface 242 (FIG. 2). The display parameter “hideimages” may remove one or more graphic images from being displayed. Forexample, FIG. 11 illustrates the hiding of the graphic images displayedwith navigation buttons 1012_1 to 1012_6 of FIG. 10B. The displayparameter “read mode” may refer to a feature that simplifies reading ofa webpage, e.g., by removing advertisements and other distractingcontent, and by enabling bookmarking, highlighting and other annotationsthat may facilitate reading. The display parameter “reading guide” mayinclude annotations, symbols and other markings that may facilitatereading. The display parameter “stop animation” may terminate ananimated graphic image displayed on a website, e.g., to accommodate auser susceptible to seizures. The display parameter “highlight hover”may cause the color of display element, or the background color tochange when a cursor is positioned over the display element. The displayparameter “cursor appearance” may refer to the visual characteristics(e.g., size, color, shape) of a graphic indicator marking the focus on awebpage. The display parameter “mute sounds” may refer to an audiosetting, e,g., to prevent emission of an audio signal. For example, whena video is displayed accompanied by an audio recording, the mute soundsdisplay parameter may silence the audio recording. In some embodiments,the muted audio may be replaced with subtitles.

FIGS. 9 and 12 illustrate block diagrams of example processes forenabling users to switch between web accessibility profiles, consistentwith embodiments of the present disclosure. While the block diagrams maybe described below in connection with certain implementation embodimentspresented in other figures, those implementations are provided forillustrative purposes only, and are not intended to serve as alimitation on the block diagram. As examples of the process aredescribed throughout this disclosure, those aspects are not repeated orare simply summarized in connection with FIGS. 9 and 12.

FIG. 9 illustrates a block diagram of an example process 900 forenabling users to switch between web accessibility profiles, consistentwith embodiments of the present disclosure. In some embodiments, theprocess 900 may be performed by at least one processor (e.g., processingdevice 210A of computing device 170, shown in FIG. 2) to performoperations or functions described herein. In some embodiments, someaspects of process 900 may be implemented as software (e.g., programcodes or instructions) that are stored in a memory (e.g., memory device220A of computing device 170, shown in FIG. 2) or a non-transitorycomputer readable medium. In some embodiments, some aspects of theprocess 900 may be implemented as hardware (e.g., a specific-purposecircuit). In some embodiments, the process 900 may be implemented as acombination of software and hardware.

FIG. 9 includes process blocks 902 to 912. At block 902, the at leastone processor may open a website. For example, processing device 210A ofcomputing device 170 (FIG. 2) may open website 1004 (FIG. 6) for displayvia output interface 242.

At block 904, a default display for the website is presented. Forexample, turning to FIG. 10A, processing device 210A of computing device170 (FIG. 2) may present a default display for website 1004, such as byusing a default font type (e.g., Time New Roman) and font size (e.g.,14) for header 1010, and by displaying navigation buttons 1012_1 to1012_6 with a plain white format.

At block 906, a selection of a specific web accessibility profile isreceived. For example, turning to FIG. 10A, processing device 210A (FIG.2) may receive a first input, e.g., from an event listener associatedwith indication 1016_3, that user 1103 (FIG. 1) has selected thecognitive disability profile corresponding to indication 1016_3.

At block 908, a website display change reflective of the select webaccessibility profile is implemented. For example, turning to FIG. 108,processing device 210A (FIG. 2) may implement a website display changeto website 1004, such as by adding descriptive images to navigationbuttons 1012_1 to 1012_6, thereby changing the plain white (e.g.,default) display. The added descriptive images may facilitate acognitively impaired user to navigate website 1004, thereby reflectingthe selection of the cognitive disability profile configured to assistcognitively impaired users who may have difficulty reading text.

At block 910, a second input is received. For example, turning to FIG.10C, processing device 210A (FIG. 2) may receive a second input, e.g.,from an event listener assigned to indication 1016_3, that user 110B(FIG. 1) has made a second selection of the cognitive disability profilecorresponding to indication 1016_3, for example by selecting asub-category of the cognitive disability profile corresponding to thedisplay format for header 1010.

At block 910 an additional website display that customizes the specificaccessibility profile is implemented. For example, turning to FIG. 10C,processing device 210A (FIG. 2) may, based on the second selection ofindication 1016_3 for the cognitive disability profile (e,g., the secondinput), implement an additional website display change corresponding toheader 1010, e.g., by increasing the font size for header 1010 from 16to 20, changing the font type from Times New Roman to Arial, andreducing the number of words displayed. These additional changes maycustomize (e.g., personalize) the cognitive disability profile for aspecific cognitively disabled user who may be capable of reading onlyshort sequences of text formatted with a large Arial font.

FIG. 12 illustrates a block diagram of an example process 1200 forenabling users to switch between web accessibility profiles, consistentwith embodiments of the present disclosure. In some embodiments, theprocess 1200 may be performed by at least one processor (e.g.,processing device 210A of computing device 170, shown in FIG. 2) toperform operations or functions described herein. In some embodiments,some aspects of process 1200 may be implemented as software (e.g.,program codes or instructions) that are stored in a memory (e.g., memorydevice 220A of computing device 170, shown in FIG. 2) or anon-transitory computer readable medium. In some embodiments, someaspects of the process 1200 may be implemented as hardware (e.g., aspecific-purpose circuit). In some embodiments, the process 1200 may beimplemented as a combination of software and hardware.

At block 1202, a website associated with a set of display parametershaving initial values is displayed. For example, processing device 210Aof computing device 170 (FIG. 2) may display website 1004 (FIG. 10A) onoutput interface 242. Website 1004 may be associated with one or moredefault display settings (a set of display parameters having initialvalues), such as font sizes and styles suitable for non-disabled users.

At block 1204, a request (e.g., a command) is received to open anaccessibility graphical user-interface (GUI) for the website. Accordingto some embodiments, the website may be associated with a set of displayparameter having initial values. For example, processing device 210A(FIG. 2) may receive a request, e.g., from user 110E to openaccessibility GUI 1008 for website 1004, e.g., by clicking on button1024. Website 1004 may be associated with multiple default displayparameter settings, e.g., for rendering content on output interface 242for non-disabled users.

At block 1206 the accessibility GUI for the website is displayed,wherein the accessibility GUI includes indications of a plurality of webaccessibility profiles. Some embodiments may involve each webaccessibility profile being associated with a differing disability. Forexample, turning to FIG. 10A, processing device 210A (FIG. 2) maydisplay accessibility GUI 1008, e.g., inside section 1006 of interface1000. Accessibility GUI 1008 may include indications 1016_1 to 1016_6 ofmultiple web accessibility profiles, such as a Seizure Safe Profile, anda visual impairment profile. In some embodiments, each of theaccessibility profiles corresponding to indications 1016_1 to 1016_6 isassociated with a different (e.g., distinct) disability,

At block 1208, a first input is received via the accessibility GUIindicative of a selection of a specific web accessibility profileassociated with a specific disability. For example, turning to FIG. 10A,processing device 210A (FIG. 2) may receive a first input, e.g., from anevent listener associated with indication 1016_3, that user 1103(FIG. 1) selected the cognitive disability profile corresponding toindication 1016_3, where the cognitive disability profile is associatedwith cognitive disabilities.

At block 1210, based on the first input, a first website display changecorresponding to the specific accessibility profile is implemented.According to some embodiments, the first website display change alters aplurality of the initial values of the set of display parameters toaddress the specific disability. For example, turning to FIG. 103,processing device 210A (FIG. 2) may, based on the selection ofindication 1016_3 for the cognitive disability profile (e.g., the firstinput), implement one or more adjustments to the display of website1004, for example by adding descriptive images to navigation buttons1012_1 to 1012_6. The addition of the descriptive images may change(e.g., alter) the default settings for webpage 1004 (e.g., the initialvalues for the display parameters) that defined the display fornavigation buttons 1012_1 to 1012_6 having a plain white format. Theaddition of the descriptive images may address the difficulty thatcognitively disabled users may experience when reading text.

At block 1212, a second input is received via the accessibility GUI. Forexample, turning to FIG. 11, processing device 210A (FIG. 2) may receivea second input, e.g., from an event listener assigned to indication1016_2, that user 110A (FIG. 1) selected the visual impairment profilecorresponding to indication 1016_2.

At block 1214, based on the second input, a second website displaychange is implemented. According to some embodiments, the second websitedisplay change causes an adjustment to the altered values of the set ofdisplay parameters. For example, turning to FIG. 11, processing device210A (FIG. 2) may, based on the selection of indication 1016_2 for thevisual impairment profile (e.g., the second input), implement one ormore adjustments to the display of website 1004, for example by removingthe descriptive images added to navigation buttons 1012_1 to 1012_6 inFIG. 10B. Removing the descriptive images may alter adjustments madepreviously to the display parameters, e.g., during the first websitedisplay change. Additionally, processing device 210A may increase thefont size for header 1010 and text 1014A.

In some embodiments, when the selected web accessibility profile is avision impairment profile, and the set of display parameters includes acontent scaling parameter and a saturation parameter, implementing thefirst website display change includes adjusting the content scalingparameter in a website code to increase content scaling and adjustingthe saturation parameter in the website code to increase displayintensity, and implementing the second website display change includesfurther adjusting at least one of the content scaling parameter and thesaturation parameter to comply with the second input. For example,turning to FIG. 11, user 110A (FIG. 1) who is visually impaired mayselect the visual impairment profile by clicking on indicator 10162(e.g., the first input), Website 1004 may have default settings definedfor the content scaling and saturation display parameters, e.g., 100%and 75% respectively. Processing device 210A (FIG. 2) may implement thefirst display change for website 1004 by changing the source code (e.g.,HTML, CSS, JavaScript) for website 1004 to increase the scale fordisplaying content, such as text and graphics to 110%, and increase thecolor saturation for displayed content to 90%. However, user 110A mayfind that this adjustment is not adequate and select additional optionsof accessibility GUI 1008 that further increase the scale for displayingcontent to 120% and increase the color saturation to 100%.

In some embodiments, when the selected web accessibility profile is acognitive disability profile, and the set of display parameters includesa highlight titles parameter and a highlight actionable objectsparameter, implementing the first website display change includeshighlighting the detected titles and actionable objects, andimplementing the second website display change includes furtheradjusting at least one of the highlight titles parameter and thehighlight actionable objects parameter to comply with the second input.For example, turning to FIG. 10B, user 110B (FIG. 1) who is cognitivelyimpaired may select the cognitive disability profile by clicking onindicator 1016_3 (e,g., the first input). Website 1004 may have defaultsettings for displaying titles (e.g., heading 1010) and actionableobjects (e.g., navigation buttons 1012_1 to 1012_6). For example,heading 1010 may be displayed with black letters against a whitebackground, and buttons 1012_1 to 1012_6 may be displayed with a plainwhite format. Processing device 210A (FIG. 2) may implement a firstdisplay change for website 1004 by changing the source code (e.g., HTML,CSS, JavaScript) for website 1004 to add a yellow background color toheading 1010 (e.g., highlighting the title) and to buttons 1012_1 to1012_6 (e.g., highlighting the actionable objects). However, user 110Bmay find that this adjustment is not adequate, and select additionaloptions of accessibility GUI 1008, for example to add a 3D bevel toheading 1010 and buttons 1012_1 to 1012_6 that further adjust thehighlighting of the title and actionable objects.

In some embodiments, when the selected web accessibility profile is anepilepsy-safe profile, the set of display parameters includes asaturation parameter and a stop animation parameter, implementing thefirst website display change includes adjusting the saturation parameterin a website code to decrease display intensity and executing a commandin the website code to limit movement on a display, and implementing thesecond website display change includes further adjusting at least one ofthe saturation parameter and the stop animation parameter to comply withthe second input. For example, turning to FIG. 10B, user 1100 (FIG. 1)who has epilepsy may select the Seizure Safe Profile by clicking onindicator 1016_1 (e.g., the first input). Website 1004 may have defaultsettings defined for color saturation (e.g., 75%), and a stop animationparameter for delaying the playing of video content after loadingwebsite 1004. Processing device 210A (FIG. 2) may implement a firstdisplay change for website 1004 by adjusting the source code (e.g.,HTML, CSS, JavaScript) for website 1004 to reduce the color saturationto 70% and by executing one or more source code instructions (e.g.,JavaScript) that cause the playing of the video to be delayed for 10seconds after loading website 1004. However, user 1100 may find thatthis adjustment is not adequate and select additional options ofaccessibility GUI 1008 (e.g., the second input). Processing device 210Amay respond to the second input by further reducing the color saturationto 65%, and/or executing a source code instruction to delay the playingof the video indefinitely, to comply with the second input.

In some embodiments , when the selected web accessibility profile is anADHD friendly profile, the set of display parameters includes a contentscaling parameter and a stop animation parameter, implementing the firstwebsite display change includes adjusting the content scaling parameterin a website code to increase content scaling and executing a command inthe website code to limit movement on a display, and implementing thesecond website display change includes further adjusting at least one ofthe content scaling parameter and the stop animation parameter to complywith the second input. For example, turning to FIG. 10A, a user who hasADHD may select the ADHD Friendly Profile by clicking on indicator1016_4 (e.g., the first input). Website 1004 may have default settingsdefined for content scaling (e.g., 100%), and a stop animation parameterto delay playing video content after loading website 1004. Processingdevice 210A (FIG. 2) may implement a first display change for website1004 by adjusting the source code (e.g., HTML, CSS, JavaScript) forwebsite 1004 to increase the content scaling to 110%, and by executingone or more source code instructions to delay the playing of the videofor 20 seconds after loading webpage 1104. However, the user may findthat this adjustment is not adequate and select additional options ofaccessibility GUI 1008 (e.g., the second input). Processing device 210Amay respond to the second input by further increasing the contentscaling the color saturation to 65%, and delaying the playing of thevideo indefinitely, to comply with the second input.

Some embodiments involve systems, methods, and computer readable mediafor providing an accessibility GUI that, following a selection of asingle profile established by a user, can migrate across multiplebrowsing sessions of that user. This may save the user considerable timein not having to select a profile for each session. The user may selecta profile once and the profile may follow the user.

Some embodiments also involve systems, methods, and non-transitorycomputer readable media that perform operations for causingdisability-related changes in website presentations across multiplebrowsing sessions.

A disability-related change may refer to any change in a website'sdisplay that may make it easier for an internet user who suffers from adisability to navigate a website. Disability-related changes mayinclude, for example, one or more of content adjustments, including fontsizing and text alignment adjustments; color adjustments, such assaturation and contrast adjustments; and/or orientation adjustments,including muting sound and stopping website animations. These changesmay apply across multiple browsing sessions. A browsing session mayrefer to a time period during which an internet user peruses one or morewebsites. A browsing session may extend over any range of time, from asshort as a few seconds to as long as multiple hours at a time. Aninternet user may also leave his or her computing device (e.g., acomputer or mobile phone) and may return to his or her computing deviceto browse the internet later in the day. Thus, it may be desirable tokeep any disability-related changes consistent across multiple browsingsessions.

The internet is comprised of a vast array of websites, which display avariety of content that may include inanimate and animate content suchas photos, graphics, charts, and videos. Some websites may also includean audio component. Internet users who suffer from a disability may beunable to easily access portions of these websites. Some disclosedembodiments describe various profiles that streamline how users interactwith these websites depending on the user's disability.

It may be also desirable to store a user's preferences across multiplebrowsing sessions, so that the user does not have to re-enter his or herdisability preferences each time the user opens an internet browser orwants to use a different website. Some disclosed embodiments describevarious web accessibility profiles based on a user's disability, andsystems and methods of storing that information across various browsingsessions.

Some embodiments involve receiving, during a first website browsingsession having an associated set of default values for displayparameters, a web accessibility profile selection associated with aparticular disability, the web accessibility profile selection having anassociated set of disability profile values for the display parameters,the disability profile values differing from the default values. Thefirst website browsing session may refer to a time period during which auser accesses a website after entering their login information orselecting a profile from the list of available profiles. This timeperiod may precede other time periods during which the user may accessthe same website or different websites. The first browsing session mayalso refer to a time period during which a user downloads theaccessibility interface. Or the first browsing session may refer to anybrowsing session that precedes a second browsing session. A user mayaccess the internet multiple times in a day or across a multiple-dayperiod. Thus, after a user selects an accessibility profile in a firstbrowsing session, the user may return for a second browsing session. Thesecond browsing session may refer to any subsequent browsing sessionthat a user engages in after closing out of the first browsing session.Or the second browsing session may refer to any subsequent initiatedbrowsing session in instances where a user may be running multiplebrowsing sessions in parallel. To save a user time when accessingvarious websites, it may be desirable to save a user's accessibilityprofile so that they do not have to enter their login information eachtime they want to access the internet.

Across the internet, different websites may display content with varyingdisplay parameters. The website display parameters (or simply displayparameters) may include properties whose values provide constraints on apresentation of a website or a webpage on a screen associated with acomputing device of the user. Examples of website display parameters mayinclude content scaling, readable font, highlight titles, highlightlinks, text magnifier, font size, line height, letter spacing, aligncenter, align left, align right, contrast, monochrome, saturation, textcolors, title colors, background color, mute sounds, hide images, readmode, reading guide, stop animation, highlight hover, and/or cursorappearance.

Default values may refer to values of the one or more display parametersused to display content on a website before an accessibility profile isselected or when no alternative is specified by a user or by aprogrammer who created the website. The default values may be defined ina code associated with the website. For example, a default value for awebsite parameter may include the size of the font that is automaticallydisplayed on the website. As another example, a default value for awebsite parameter may include the size of the window that isautomatically displayed on the website. In another example, a defaultvalue for a website parameter may include the color theme that isautomatically applied to the website. By way of example, the set ofdefault values may indicate that a first title on the website has a fontsize of 14 pt. and a second title on the website has a font size of 18pt. In another example, the set of default values may indicate that awebsite has a default color scheme, comprising text colors, titlecolors, and background colors. Here, the default values may indicatethat the default text title is black, the title colors are black, andthe background colors are white. In yet another example, the defaultvalues may indicate that a website contains sound or animated content.

An accessibility profile may include any type of data that may be usedto adjust one or more website parameters to enable a user having aparticular disability to access a website. In some embodiments, thevalues of the one or more website parameters stored in the accessibilityprofile may be different from the default values of the web displayparameters. The values of the one or more website display parametersstored in the accessibility profile may constitute disability profilevalues. A user may suffer from a disability such as visual impairment,cognitive impairment, epilepsy, ADHD, or another disability thatinhibits a user's ability to access a particular website. After anaccessibility profile is selected, one or more display parameter defaultvalues may be modified based on the selected accessibility profile. Afirst website browsing session having an associated set of defaultvalues for display parameters may refer to, but is not limited to, thetime period wherein a user is accessing the internet but has not yetselected a disability profile. Here, the website that the user isaccessing may be displayed unaltered. In one example, a website may havetext that is displayed at 12 pt and may include background animation.

Receiving a web accessibility profile selection associated with aparticular disability may refer to a user using a computing device, suchas a computer, consisting of an input device such as a mouse or touchpadand a keyboard, or a mobile device, to select an accessibility profilein a graphic user interface consisting of multiple accessibilityprofiles. If the user is accessing a website on a computer, the user mayselect the web accessibility profile by moving a cursor and clicking ona particular selection and/or may use a keyboard to select the profilevia typing in commands. If the user is accessing a website on his or hermobile device, he or she may access the website by selecting a profileusing a finger and/or voice command. Thus, receiving a web accessibilityprofile selection may include receiving a signal, data, alarm, alert, orany other sign in response to a user's selection of the accessibilityprofile using, for example, his or her computing device.

The disability profile values may differ from the default displayparameters and may be based on website content. Thus, for example,disability profile values may include values for content scaling, titlesize, font size, line height, letter spacing, and/or text alignment. Thedisability profile values may specify values for one or more of thedisplay parameters discussed above. For example, the disability profilevalues may include color adjustments, including one or more ofsaturation adjustments (e.g., displaying the website at a high or lowcolor saturation), contrast adjustments (e.g., high contrast, darkcontrast, or light contrast), adjusting to a monochrome color scheme, oradjusting the appearance of text, title, and/or background colors. Asanother example, the disability profiles may include orientationadjustments, including one or more of muting sounds, hiding images,stopping animations, implementing a reading guide or mask, or adjustingcursor size.

In one example, a user may select a profile that may make it easier fora visually impaired person to navigate a website. Such a profile may becomprised of content adjustments, including one or more of increasingcontent scaling and adjusting the font so that it is more readable, andcolor adjustments, such as increasing color saturation.

In some embodiments, the web accessibility profile selection isassociated with at least a first predefined value of a first displayparameter addressing a first aspect of the particular disability of theuser and a second predefined value of a second display parameteraddressing a second aspect of the particular disability of the user.Depending on a website user's disability, more than one displayparameters may be adjusted based on selection of a web accessibilityprofile. For example, based on a user's disability, a certain displayparameter may have a predefined value that may be different from adefault value of that display parameter. A predefined value may refer toa stored display parameter value within a memory device associated witha user's computing device or a server.

In one example, a user may select a visually impaired profile wherein afirst predefined value of a first display parameter addressing a firstaspect of the disability may be increased color saturation and a secondpredefined value of a second display parameter addressing a secondaspect of the particular disability may be increasing content scaling.Users who suffer from visual impairment may have more difficultydiscerning website elements from one another. To address this user'sdisability, it may be desirable to increase display parameters such ascolor saturation and content scaling to make website elements brighter,more colorful, and larger, in order to aid the user in navigating awebsite.

In another example, a user may select an epilepsy-safe profile wherein afirst predefined value of a first display parameter addressing a firstaspect of the disability may be reduced color saturation, and a secondpredefined value of a second display parameter addressing a secondaspect of the particular disability may be stopping animations. Userswho suffer from epileptic seizures may be more sensitive tohigh-intensity color combinations, i.e., high-saturation and contrastcolor combinations, and flashing or blinking animations. To address thisuser's disability, it may be desirable to reduce the risk ofhigh-contrast color combinations by reducing color saturation and bystopping all animations on the website.

Some embodiments involve changing, based on the web accessibilityprofile selection, the default values for the display parameters to thedisability profile values to thereby cause, during the first websitebrowsing session, the website to be accessible to a user with theparticular disability. Different websites on the Internet may havedifferent default display parameters, such as default content scaling,font size, line height, letter spacing, text alignment, color contrastand saturation, animations, and/or cursor size. Depending on whichaccessibility profile a user selects, the default values of one or moredisplay parameters may be changed to make the website accessible to theuser with a disability associated with the selected accessibilityprofile. Different display parameter values may be associated withdifferent accessibility profiles. In one example, a user may select avisually impaired profile, which may automatically adjust the defaultcontent scaling and color saturation display parameter values. Inanother example, a user may select an epilepsy-safe profile, which mayautomatically adjust the default color saturation display parametervalue and may also stop on-screen animations. Changing the defaultvalues of one or more display parameters may make a website moreaccessible to a user with a particular disability because the websitedefault values are replaced with adjusted display parameters based on auser's disability. For example, for a user with visual impairment, thevalue associated with a content size display parameter for images,photos, or graphics, may be increased by 100% from a default value toenable display of the content to the user in a magnified or zoomedmanner. As another example, display parameters such as saturation orcontrast may take values that are larger than their respective defaultvalues. When the saturation is increased, website elements appearbrighter. When the contrast is increased, the difference in brightnessbetween foreground and background colors is increased. In one example,hue numbers, which govern how saturated a color is in a website display,range from 0 to 255. Color saturation may also be determined by how muchwhite or gray is present in a color. In this example, a high colorsaturation website display may be comprised of website elements whereinall displayed colors have hue numbers of 255. By contrast, accessibilityprofiles that aim to reduce color saturation, such as the epilepsy-safeprofile, may reduce the default display hue number for saturation, forexample to 50 or less.

In some embodiments, display parameter values associated with particularaccessibility profiles may be stored in the memory of either the user'scomputing device via the hard drive, RAM, and/or ROM, in the browser viacookies, or in a memory device or database associated with a server. Themodified display parameters that are associated with a particularaccessibility profile may replace the default website displayparameters. A user may wish to further modify display parameters atsubsequent browsing sessions and may do so by selecting a differentaccessibility profile or choose to adjust individual display parameterssuch as content scaling via the accessibility GUI.

Some embodiments involve causing the web accessibility profile selectionto be stored in memory in association with the user. Storing the webaccessibility profile selection may refer to any method of saving,filing, or placing in a storage device the values of one or more displayparameters associated with the web accessibility profile selected by theuser. When an accessibility profile selection is stored, the displayparameters associated with the accessibility profile may be stored sothat when a user returns to his or her computer device for a second orsubsequent browsing session, the default website displayed parametersmay be automatically replaced with the display parameters associatedwith the previously selected accessibility profile. Methods of storingthe web accessibility profile selection may include web storage, privateclouds, public and hybrid cloud storage, cookies, and on a local backupdrive. Web storage may refer to any method of storing client-side datathat allows for greater storage capacity than cookies. A private cloudmay refer to a cloud computing environment in which all hardware andsoftware resources are dedicated exclusively to, and accessible only by,a single customer. Cloud computing may refer to the on-demandavailability of computer system resources, such as data storage andcomputing power, without direct active management by the user. Incontrast to private cloud storage, public cloud storage may beaccessible by more than one user and may be offered based on asubscription service. A hybrid cloud is a type of data centerinfrastructure that combines private and public cloud elements, i.e.,on-premises storage and cloud storage. In some embodiments, the webaccessibility profile may be stored in a private cloud, a public cloud,and/or a hybrid cloud. The web accessibility profile selection may bestored in association with the user based on a user's log-ininformation, subscription information, and/or any other means ofverifying a user's identity. Thus, for example, a user's log-ininformation, subscription information, and/or any other identifyinginformation of the user may be linked to the web accessibility profile.Depending on the method of storage, a single user's accessibilityprofile may be stored, or a plurality of users' accessibility profiles.For example, a single user's accessibility profile may be stored in theuser's computing device, web browser, or browser cookie. However,multiple users' accessibility profiles may be stored in a remote servervia the cloud because that method of data storage has greater storagecapability than an individual user's web browser, hard drive, RAM,and/or ROM.

By way of example, FIG. 13 illustrates a timeline 1300 between a firstbrowsing session and a second browsing session, wherein a user opens awebsite 1302, which executes a script received from a server. Thecomputing device, which may be a computer, mobile phone, or tablet, mayreceive a command 1306 to open the accessibility graphic user interface(GUI). The accessibility GUI may be a downloadable browser extensionthat provides users with a plurality of predefined accessibilityprofiles to choose from, wherein each accessibility profile may alterone or more website display parameters, and also provides users with theoption to individually customize website display parameters to optimizetheir Internet browsing experience.

In step 1308, an Internet user may open the accessibility GUI. In step1310, the user may select a predefined accessibility profile based onthe user's disability using the accessibility GUI. The user may selectan accessibility profile by selecting it with a cursor, or, in thescenario that the user is blind, with a keyboard command with theassistance of a screen reader. After the user selects an accessibilityprofile, that profile may be stored at step 1312. One or more displayparameters may be modified based on the selected predefinedaccessibility profile. The default values for the display parameters,i.e., how the website content was displayed before the user selected anaccessibility profile, are replaced at step 1314 with the modifiedparameters that are part of the accessibility profile that the userselected. The user may then close the website at step 1316, thus endingthe first browsing session.

In some embodiments, the memory is associated with a computing deviceused by the user to access the website. The accessibility profileselection may be stored in a hard drive, RAM, and/or ROM associated witha computing device being used by the user to access the website. Thecomputing device may include, for example, a phone, a tablet, a laptopcomputer, a desktop computer, a smartphone, a smart watch, smartglasses, or any other computational device used by the user to accessthe website. A user's accessibility profile selection may also be storedin a web cookie associated with a user's computing device and the user'schosen web browser. When a user visits a website using his or hercomputing device, the server transfers a small packet of data into thecomputing device's browser. This cookie is designed to store informationabout the user, including a record of website visits and activity. Insome embodiments, such information about the user may include a user'sweb accessibility profile selection.

In some embodiments, the memory may be associated with a remote serverconfigured to store web accessibility profiles of multiple users.Whereas cookies or other web storage may be desirable for single users,additional storage may be needed to store multiple accessibilityprofiles. A remote server may be able to store the accessibility profiledata of multiple users. A remote server is a server that is dedicated tohandle users that are not on the local area network but need remoteaccess. Users typically access a remote server via the internet. Aremote server differs from a computation device because instead of beingstored on a local device, data is stored on a server outside the localarea network that a plurality of users may have access to. Examples ofremote servers include Dropbox, Microsoft One Drive, and Google Drive.Accessibility profile data may also be stored on a network of servers,such as the cloud. A cloud is a pooled, centralized server resource thatmay be hosted and delivered over a network, such as the internet, andaccessed on demand by multiple users at once. The remote server may beeither a private server or public remote server and may store a user'saccessibility profile in a variety of different data structures, such asan array, a linked list, a stack, a queue, a hash table, a tree, a heap,or a graph.

Some embodiments involve performing, during a second website browsingsession of the user, a lookup in memory of the web accessibility profileselection of the user. Performing a lookup may refer to any algorithm ormethod used to retrieve previously stored accessibility profileinformation, stored via cookies, public and/or hybrid clouds, privateclouds, web storage, and/or local backup drives. Examples of searchalgorithms may include a linear search, a binary search, a jump search,an interpolation search, and exponential search, a sub-list search,and/or a Fibonacci search. The lookup algorithm selects the particularuser's accessibility profile and retrieves it from the data structure inwhich it is stored, either locally via hard drive, ROM, or RAM, orremotely via an individual server or the cloud. To perform the lookup,the algorithm may retrieve a user's ID and password or a user's computerID (including an IP address and/or MAC address) from the data structurein which it is stored. For example, an internet user selects anaccessibility profile from the accessibility GUI during a first browsingsession. When the same user logs onto his or her computing device priorto the second browsing session, the lookup algorithm may retrieve theuser's ID, which may be comprised of a username and password. The userID may be associated with the accessibility profile selected during thefirst browsing session and may be automatically applied to the secondbrowsing session.

Some embodiments involve determining, during the second website browsingsession and prior to applying the web accessibility profile selection,whether a user associated with the second website browsing session is asame user that made the web accessibility profile selection during thefirst website browsing session. Determining whether a user associatedwith the second website browsing session is a same user that made theweb accessibility profile selection during the first website browsingsession may be based on a profile associated with the browser, may bebased on a profile associated with the operating system, may be based onuser actions prior to the second browsing session, and/or may be basedon user log-in service to a service or email account. The determinationmay be based on a profile associated with the internet browser. Thedetermination may also be made based on a profile associated with theparticular operating system. For example, Windows or Mac computersprovide users with an option to select a user profile, wherein each userprofile contains the user's saved documents, files, and/or customizedbrowsing settings. The determination may also be based on a log-in to aservice or email account. For example, a user may enter log-ininformation associated with the accessibility GUI and may use his or heremail to do so. Thus, the determination of whether the user is the sameuser may be based on log-in and email information.

In some embodiments, to determine whether the user between the first andsecond browsing sessions is the same user, the username and passwordinformation entered by the user during the second browsing session maybe compared with similar information entered during the first browsingsession. If the information matches, it may be determined that the useris the same and the selected accessibility profile selected during thefirst browsing session may be retrieved and automatically applied duringthe second browsing session. In another example, the e-mail logininformation entered by the user during the second browsing session maybe compared with similar information entered during the first browsingsession. If the entered information, i.e., username and passwordinformation, is the same between browsing sessions, then theaccessibility profile may be automatically applied during the secondbrowsing session.

By way of example, FIG. 14 illustrates a graphical user interface (GUI)and wherein a user may select from a variety of different predefinedaccessibility profiles in a first browsing session 1400. In firstbrowsing session 1400, the website may be also modified based on theaccessibility profile the user selected. A user may select the availableaccessibility adjustments via graphic user interface 1402. In additionto having the option to select an accessibility profile, a user may alsohave the option to reset the website display settings to the defaultdisplay settings and also may have the option to hide the interface. Auser may reset settings if they are borrowing someone else's computingdevice, such as a computer, mobile phone, or tablet, to use theaccessibility GUI. A user may also reset settings if they accidentallyadjust settings not to their liking or they select a profile that theydo net like. As illustrated in the exemplary embodiment of FIG. 14,accessibility GUI may contain five different accessibility profiles thata user may select. A user may select an epilepsy-safe profile(seizure-safe profile) 1404, which may eliminate flashes and reducecolor contrast. Users who suffer from epilepsy or other seizuredisorders are more sensitive to light and sudden movements than otherusers, so it is desirable to eliminate flashes and blinking lights andto minimize movement. The epilepsy-safe profile may also limit themovement on a website to prevent blinking animations. The user may alsohave the ability to turn the epilepsy-safe profile 1404 on and off.

By way of another example, a user may select a vision-impaired profile1406, which may enhance a website's visuals. Users who suffer fromdegrading eyesight, tunnel vision, cataracts, glaucoma, or any other eyeor vision condition may select the vision-impaired profile 1406. Thevision-impaired profile 1406 may increase the size of website elements,and also may increase brightness and contrast between website elements.The user may have the ability to turn the visually impaired profile 1406on and off.

By way of another example, a user may select a cognitive disabilityprofile 1408, which may assist with reading and focusing. Users whosuffer from cognitive disabilities such as autism, dyslexia, acerebrovascular accident (CVA), and/or any cognitive condition mayselect the cognitive disability profile 1408. Cognitive disabilityprofile 1408 may increase the scale of text and headers and also mayhighlight text and links. In first browsing session 1400, a user mayselect the cognitive disability profile disability profile 1408. Here,the key features of a website, such as header 1410, are highlighted. Theuser may have the ability to turn the cognitive disability profile 1408on and off.

By way of another example, a user may select neurodevelopmental disorderprofile (ADHD Friendly Profile) 1412, which may provide more focus andfewer distractions. Users who suffer from neurodevelopmentaldisabilities such as ADHD may select neurodevelopmental disorder profile1412. Neurodevelopmental disorder profile 1412 may significantly reducedistractions to help people with ADHD and other neurodevelopmentaldisorders browse, read, and focus on the essential elements of a websitemore easily. In doing so, neurodevelopmental disorder profile 1412 mayprovide users with a reading mask. A reading mask may refer to anapparatus used to help users focus on specific text. Specifically, thereading mask may only highlight certain text at a time, and other textmay appear darker to the user. Depending on the content displayed on thewebsite, the reading mask may be wider or narrower. The reading mask mayfollow the user's cursor when browsing a website. When the user selectsthe ADHD-friendly profile, website text may also appear larger to theuser. The user may have the ability to turn the ADHD-friendly profile1412 on and off.

By way of another example, a user may select screen-reader profile 1414,which may allow a blind user to navigate a website using a screenreader. The screen-reader profile may adjust the website to becompatible with screen readers such as JAWS, NVDA, VoiceOver, andTalkBack. Blind users may install screen readers prior to using theaccessibility GUI, and the GUI may prompt automatically to screenreaders.

By way of another example, a user may select a keyboard navigationprofile, which may allow motor-impaired persons to operate a websiteusing a keyboard in lieu of a cursor. Users may be able to operate awebsite by using the keyboard Tab, Shift+Tab, and Enter keys. Users mayalso use shortcuts such as “M” to access menus, “H” to access headings,“F” to access forms, “B” to access buttons, and “G” to access graphics,i.e., jump to specific elements.

Some embodiments involve, upon determining that the first and secondwebsite browsing sessions are associated with the same user, applyingthe web accessibility profile selection without user intervention.During a first website browsing session, a user may select anaccessibility profile via the accessibility GUI. The accessibilityprofile selection may be stored in association with that user. In someembodiments, it may be desirable to prevent unnecessary userintervention, i.e., a user should not have to re-enter his or herpreferred accessibility profile in each browsing session. Afterdetermining the user in the second browsing session is the same as thefirst browsing session, the accessibility profile stored in associationwith that user may be applied automatically. For example, a user openshis or her laptop computer and logs onto the internet. After opening thebrowser, the user is prompted to select a profile associated with theuser's email address. After the user selects a profile, the processorassociated with the accessibility GUI recognizes that the selectedprofile matches the profile that the user selected during the firstbrowsing session. The processor thus determines that the users betweenthe first browsing session and the second browsing session are the same,and accordingly, applies the same accessibility profile that the userselected during the first browsing session.

Some embodiments involve, upon determining that the first and secondwebsite browsing session are associated with different users, applyingthe associated set of default values for display parameters. Differentusers may share the same computer, or a user may desire to log onto theinternet at a work computer or computer that they do not typically use,such as a computer at a library or internet café. Here, different usersmay access the computer at different times, i.e., the same user may notalways be using the computer. Thus, it may be desirable to replace thedisplay parameters values that a selected accessibility profile modifieswith default display parameter values if the two users are not the samebetween browsing sessions.

Display parameter values may refer to a website's content scaling,titles, titles, font size, line height, letter spacing, and/or textalignment. Specifically, default display parameter values may refer tohow the website content was displayed before the user selected anaccessibility profile. In one example, a user is browsing the interneton a shared computer using an accessibility profile that he or sheselected based the user's disability. Based on the accessibility profilethat the user selected, website display parameters are adjustedaccordingly. The user logs off the shared computer, and another user,for example, the user's family member, logs onto the shared computer.The second user selects the appropriate user profile at login. Theprocessor may recognize that the two users between the first and secondsessions are not the same user, and instead of displaying websitecontent based on the accessibility profile the first user selected, theprocessor may display website content at the website's default displayparameters, pending input from the second user.

Some disclosed embodiments involve applying the web accessibilityprofile selection during the second website browsing session to therebycause the second website browsing session to be accessible to the userwith the particular disability. The first browsing session may, forexample, refer to the first time a user accesses a website afterentering their login information or selecting a profile from the list ofavailable profiles. The first browsing session may also refer to thefirst time that a user interacts with the accessibility interface or mayrefer to any browsing session that precedes a second browsing session.The second browsing session may refer to any subsequent browsing sessionthat a user engages in after closing out of the first browsing session.To save a user time when accessing various websites, it may be desirableto save a user's accessibility profile so that they do not have to entertheir login information each time they want to access the internet. Inthe second browsing session, the accessibility profile that the userselected during the first browsing session is automatically applied. Forexample, in a first browsing session, a user selects the epilepsy-safeprofile. During the second browsing session, the epilepsy-safeaccessibility profile may be automatically applied. Additionally, thesame epilepsy-safe profile may be applied to any subsequent browsingsession unless a user customizes a feature of the epilepsy-safe profile,such as slowing animations and decreasing color saturations. From thatpoint forward, the newly customized version of the epilepsy-safe profilemay be applied.

Returning to FIG. 13, a user may reopen the internet browser during asecond browsing session 1318. In doing so, the website may execute ascript received from a server at step 1320. At step 1322, the defaultvalues for the display parameters may be automatically changed to thedisplay parameter values that the user selected during the firstbrowsing session. At step 1324, the user may close a website, thusending the second browsing session. The accessibility profile settingsfrom the first browsing session may still be stored across subsequentbrowsing sessions until a user modifies them.

FIG. 15 depicts an exemplary illustration of a second browsing session1500, wherein the accessibility profile selected from the first browsingsession is saved in the second browsing session. Here, header text 1502is highlighted because the user in FIG. 14 selected the cognitivedisability profile. The processor associated with the accessibilityinterface scans and analyzes the visual appearance of the website aswell as the website's code. When a user selects the cognitive displayprofile, titles and links are highlighted, and content scaling isincreased by at least 5%. Background image 1504 and background text 1506are not highlighted because the processor associated with theaccessibility interface has determined that such website elements arenot headers or links, and thus not critical to navigating the websitebased on the selected accessibility profile.

In some embodiments, during the second website browsing session, adisplay of the website is automatically modified to conform with theparticular disability of the user without manually receiving a selectionof the web accessibility profile during the second website browsingsession. To avoid unnecessarily inhibiting a user's internet browsingexperience, it is desirable to save the user's accessibility profilepreference between browsing sessions. Accordingly, the display of awebsite may be automatically modified to conform with a previouslyentered accessibility profile without requiring the user to reentertheir login information or accessibility preferences. Such modificationsmay be based on a website's display parameters, including a website'scontent scaling, font, titles, links, line height, line spacing, textalignment, color scheme, color contrast and saturation, text colors,title colors, background colors, and/or animations.

For example, a user may select a visually impaired profile from theaccessibility interface during a first browsing session. When the userlogs onto his or her computational device (which may be a computer ormobile device) for a second browsing session, the visually impairedprofile that the user selected during the first browsing session may beautomatically applied. In this example, display parameters that aremodified based on the visually impaired profile, which includes creatingreadable font, increasing content scaling, and increasing saturation,are automatically applied to the website during the second browsingsession. In accordance with some disclosed embodiments, a user does notneed to manually select the accessibility profile he or she selectedduring the first browsing session during the second browsing session.

In some embodiments, the first website browsing session and the secondwebsite browsing session involve the same website. A user may select anaccessibility profile during a first browsing session, such as theepilepsy-safe profile, and return to his or her computing device for asecond browsing session. In one example, the user may return to the samewebsite that he or she visited during the first browsing session for thesecond browsing session. Here, the display of the website during thesecond browsing session may be automatically modified to conform withthe epilepsy-safe profile that the user selected during the firstbrowsing session without the user having to manually select the sameaccessibility profile during the second browsing session. Displayparameters that may be modified based on an epilepsy-safe profile may bereducing color saturation and stopping animations. These displayparameters may be automatically modified without user input during thesecond browsing session.

In some embodiments, applying the web accessibility profile selectionduring the first website browsing session changes a first visualpresentation displayed on the website, and applying the webaccessibility profile selection during the second website browsingsession changes a second visual presentation displayed on the website.Even though the website that the user navigates between the first andsecond browsing sessions is the same, the displayed content betweensessions may differ. Visual presentation may refer to how differentdisplay parameters, for example, a website's content scaling, font,titles, links, line height, line spacing, text alignment, color scheme,color contrast and saturation, text colors, title colors, backgroundcolors, and/or animations are arranged on a particular website. Forexample, even though the website between the first and second browsingsession remains the same, different text and other visual elements maybe presented in a different way. In this example, when a user firstvisits a website, the website may only display text and no animatedcontent. Such a website may be a news outlet website that initiallydisplays text content, such as headers and then displays video contentas the user scrolls down further. Here, when the user scrolls throughthe website, the website may display less text and more animatedcontent. Furthermore, depending on the accessibility profile that a userselects during the first browsing session, different display parametersmay be modified. In one example, the user may select an epilepsy-safeprofile during the first browsing session, which reduces colorsaturation and stops animations. Here, the first visual presentation onthe displayed website may refer to reducing color saturation for thewebsite's background, and the second visual presentation on thedisplayed website may refer to stopping animations when the user scrollsfurther down the website.

In another example, a user may select a neurodevelopmental disorderprofile during a first browsing session, wherein content scaling isincreased, color saturation is increased, animations are stopped, and areading mask is implemented. A reading mask may highlight certainportions of a webpage while darkening other portions of a webpage toassist a website user in focusing on only a small portion of a websiteat a time. The processor as part of the accessibility interface may scanthe website and the website code to determine what portions of thewebsite are text and what portions are images to aid in determining howwide the reading mask should be. Websites that are comprised ofpredominately text, such as a website dedicated to news or scholarlypublications, may have a narrower reading mask so that the user canfocus on a small amount of text at a time. On the other hand, websitesthat have more photos, graphics, or animate content, such as an onlineshopping website, may have a wider reading mask because the images maytake up more space on the website. In this example, wherein the userselects a neurodevelopmental disorder profile during a first browsingsession, the selected website may be a website, comprising mostly text.Here, the reading mask may be narrow to allow the user to focus on asmaller portion of text at a time, and the color saturation may beincreased to allow the user to discern website elements more easily.Either the reading mask or the increased color saturation may be thefirst visual presentation of the website that is modified. During thesecond website session, the user may visit an online shopping websitecomprised of images and animate content. Here, the selectedneurodevelopmental disability profile may stop animations on a webpageto assist a user in navigating a website. In this example, stoppinganimations is the second visual presentation that is modified.

In yet another example, a user may select a visually impaired profilewherein content scaling is increased and font size may also beincreased. In this example, the first website that the user visits maybe a news website that displays articles for users to read. When theselects the visually impaired profile, the size of the displayed textsautomatically increases by 100% during the first browsing session. Theuser may return to the same website during the second browsing sessionand select a second article to read, either via scrolling down thewebsite or by clicking a hyperlink for the article on the website. Here,the text of the second article automatically increases in size toaddress the user's disability. The second article may or may not beavailable to the user the first time.

In some embodiments, the first website browsing session and the secondbrowsing session involve differing websites. A user may select anaccessibility profile during a first browsing session, and thataccessibility profile selection is stored for subsequent browsingsessions. The user may then return to his or her computing device for asecond browsing session and may desire to visit a different website fromthe website that the user visited. For example, a user may visit a newswebsite during a first browsing session and a shopping website during asecond browsing session. The two websites may have varying displayparameters, i.e., the first website may be comprised of predominatelytext content and minimal graphic or animate content, whereas the secondwebsite may have the opposite.

In some embodiments, applying the web accessibility profile selectionduring the first website browsing session changes a first visualpresentation of the first website, and applying the web accessibilityprofile selection during the second website browsing session changes asecond visual presentation of the second website. Visual presentationmay refer to how different display parameters, such as a website'scontent scaling, font, titles, links, line height, line spacing, textalignment, color scheme, color contrast and saturation, text colors,title colors, background colors, and/or animations are arranged on aparticular website. Visual presentation of various website elements,such as text and graphics, may differ between two different websites.For example, a scholarly publication website that primarily presentstext content may have a different visual presentation than an onlineshopping website that may be comprised of various photos, graphics,and/or even animations.

In one example, a user may visit a first website dedicated to scholarlypublications during a first browsing session. The website may onlydisplay text and no animated content. The user may visit a secondwebsite that is dedicated to online shopping during a second browsingsession. Unlike the first website in the first browsing session whereinthe displayed content, i.e., the visual presentation, was primarilycomprised of text content, the second website may be comprised ofminimal text and more photos, graphics, or animated content. Dependingon the accessibility profile that a user selects during a first browsingsession, the visual presentation of the website may change, i.e.,different display parameters are modified between sessions.

In one example, the user may select an epilepsy-safe profile during thefirst browsing session, which reduces color saturation and stopsanimations. Here, the first visual presentation on the first website mayrefer to reducing color saturation for the website's background, whichmay affect the displayed text color and background color of any images.The epilepsy-safe profile also stops animation on the webpage, butbecause in this example the first website primarily involves scholarlypublications, the website may not be modified. However, the secondwebsite in this example, which is dedicated to online shopping, mayinclude animations, i.e., a second visual presentation, as well asphotos and graphics showing what the website sells. The second websitemay contain animations, which were not present on the first website.Therefore, the epilepsy-safe profile may change the second visualpresentation on the second website, the animations.

In another example, a user may select a neurodevelopmental disorderprofile during a first browsing session, wherein content scaling isincreased, color saturation is increased, animations are stopped, and areading mask is implemented. Wherein the user selects aneurodevelopmental disorder profile during a first browsing session, thefirst website may be a website dedicated to scholarly publications,comprising mostly text. Here, the reading mask may be narrow to allowthe user to focus on a smaller portion of text at a time, and the colorsaturation may be increased to allow the user to discern websiteelements more easily. Either the reading mask or the increased colorsaturation may be the first visual presentation of the website that ismodified. During the second website session, the user may visit anonline shopping website comprised of images and animate content. Here,the selected neurodevelopmental disability profile may stop animationson a webpage to assist a user in navigating a website. In this example,stopping animations is the second visual presentation that is modified.

Some embodiments involve, during the first website browsing session,receiving a profile customization selection to personalize apresentation of the website and thereby address specific accessibilityneeds of the user, and applying the web accessibility profile selectionand the profile customization selection during the second websitebrowsing session.

While previously described embodiments in the specification involveselecting one of a set group of accessibility profiles with predefineddisplay setting changes, some embodiments involve selecting one of theseaccessibility profiles and further customizing it. In doing so, a user,after selecting one of a plurality of accessibility profiles, may selectone of a plurality of further content adjustments. These contentadjustments may include adjusting content scaling, font sizing, lineheight, and letter spacing. A user may also elect to highlight titles,links, may magnify text, select a more readable font (i.e., one that isbold), and may align the website text center, left, or right. A user mayalso elect to make a plurality of further color adjustments. These coloradjustments may include adjusting the contrast, e.g., high contrast,dark contrast, or light contrast, adjusting the color saturation, e.g.,high saturation or low saturation, and may also adjust whether thewebsite is displayed in monochrome. A user may also adjust theindividual text, title, and background colors to his or her liking. Auser may also elect to make a plurality of further orientationadjustments, which may refer to any website adjustments that are notcontent (e.g., text size and content scaling) or color (e.g., saturationor contrast) adjustments. The orientation adjustments may include mutingsounds, hiding images, toggling a reading guide, stopping animations,toggling a reading mask, or adjusting the size of the cursor. A readingguide replaces the user's cursor with a long bar that is meant tounderline text in a sentence. A user may make the individualcustomizations in the accessibility interface. As with the accessibilityprofiles themselves, a user's selected individual customizations may bestored in the user's computing device, such as in the hard drive, RAM,and/or ROM. The user's selected customizations may also be stored in theuser's browser via cookies or may be stored in a data structure on aremote server consistent with embodiments disclosed in thisspecification. Any adjustment is automatically saved between a first andsecond browsing session.

For example, a user may select a cognitive disability profile that, bydefault, increases content scaling, highlights titles and links, andstops animations. However, a user may also choose to customize theselected accessibility profile by adjusting the font sizing, selecting amore readable font, i.e., a font that is bold and stands out more to thereader, or may adjust color saturation or contrast settings.

In some embodiments, the profile customization selection may beconfigured to cause a supplemental change in a display parameterincluded in a group of display parameters associated with the webaccessibility profile. Each accessibility profile may be comprised ofadjustments to one or more display parameters. In some embodiments, auser may further adjust content, color, and orientation via theaccessibility interface after selecting an accessibility profile. Somedisclosed embodiments may permit the user to adjust one or more displayparameters that may have already been modified based on the selectedaccessibility profile.

In one example, a user may select an accessibility profile from a listof profiles, such as the visually impaired profile. The visuallyimpaired profile may be comprised of various predefined content andcolor adjustments, but no orientation adjustments. For example, thecontent adjustments may be comprised of increasing content scaling by100% and selecting a readable font, by default. The color adjustmentsare comprised of increasing the saturation by default. The describedembodiments permit the user to make further content and coloradjustments. In this example, a user may desire to make further contentadjustments, such as increasing or decreasing the content scaling,highlighting titles and links, adjusting font sizing, adjusting lineheight, magnifying text, or adjusting alignment. Regarding coloradjustments, a user may choose to increase contrast in addition to thehigh saturation that was increased by default.

In some embodiments, the profile customization selection may beconfigured to cause a supplemental change in a display parameterexcluded from a group of display parameters associated with the selectedweb accessibility profile. Each accessibility profile may be comprisedof adjustments to one or more display parameters. In some embodiments, auser may further adjust content, color, and orientation via theaccessibility interface after selecting an accessibility profile. Somedisclosed embodiments may permit the user to adjust one or displayparameters that may not have already been modified based on the selectedaccessibility profile.

In one example, a user may select an accessibility profile from a listof profiles, such as the cognitive disability profile. The cognitivedisability profile is comprised of various predefined content andorientation adjustments, but no color adjustments. Specifically, thecontent adjustments may be comprised of increasing content scaling by25% and highlighting titles and links, by default. The orientationadjustments may be comprised of stopping animations, by default. Thedescribed embodiments permit the user to make further content andorientation adjustments, but also permit a user to make adjustments todisplay parameters typically excluded from a group of display parametersassociated with the selected web accessibility profile. In this example,a user may therefore make color adjustments as needed, in addition toany desired content and orientation adjustments. Here, a user may chooseto increase or decrease color saturation or contrast, may elect todisplay a website in monochrome, or may adjust text, title, and/orbackground colors.

Some disclosed embodiments involve a method for causingdisability-related changes in website presentations across multiplebrowsing sessions. The method may include, during a first websitebrowsing session having an associated set of default values for displayparameters, receiving a web accessibility profile selection associatedwith a particular disability, the web accessibility profile selectionhaving an associated set of disability profile values for the displayparameters, the disability profile values differing from the defaultvalues. The method may also include, based on the web accessibilityprofile selection, changing the default values for the displayparameters to the disability profile values to thereby cause, during thefirst website browsing session, the website to be accessible to a userwith the particular disability. The method may also include causing tobe stored in memory in association with the user, the web accessibilityprofile selection. The method may also include, during a second websitebrowsing session of the user, performing a lookup in memory of the webaccessibility profile selection of the user; and applying the webaccessibility profile selection during the second website browsingsession to thereby cause the second website browsing session to beaccessible to the user with the particular disability.

Users may select an accessibility profile in a first browsing sessionand return to their computing device later for a second browsingsession. It is desirable to keep a user's selecting settings uniformbetween subsequent browsing sessions. In some embodiments, a webaccessibility profile selected during a first website browsing sessionis a vision impairment profile, and during the second website browsingsession, content scaling and display intensity may be increased toaddress the user's accessibility needs. Content scaling and displayintensity may also be increased during the first website browsingsession. Visually impaired website users may have difficulty discerningdifferent website elements from one another. Therefore, it may bedesirable to increase the display intensity, by adjusting the colorsaturation and contrast, of different website elements so that a usermay be able to navigate between different website elements more easily.Additionally, increasing the size of the displayed website content mayassist a visually impaired user in navigating a website.

For example, a user may select an accessibility profile in a firstbrowsing session, in which website elements, such as pictures, text,videos, and/or other content, are presented unaltered before selectionof the accessibility profile. After the visually impaired accessibilityprofile is selected, one or more website elements may be displayed at asize larger than they were originally, and the website elements may alsobe displayed at a higher intensity (e.g., at a high color saturation andcontrast) so as to make it easier to discern between two websiteelements. When the user returns to his or her device for a secondbrowsing session, it may be desirable to maintain the settings that theuser entered during the first browsing session. Thus, during the secondbrowsing session, content scaling and website element display intensitymay be automatically increased to address the user's accessibilityneeds.

In some embodiments, a web accessibility profile selected during a firstwebsite browsing session is a cognitive disability profile, and thesecond website browsing session may include automatically highlightingtitles and actionable objects to address accessibility needs of theuser. Website users who suffer from cognitive disabilities may havedifficulty focusing on the essential elements of a website, such as,main headers, interactive tabs, and/or search bars. Therefore, it may bedesirable to automatically highlight titles and actionable objects toassist such a user in navigating the website. Highlighting titles andactionable objects such as a search bar or website tabs may ensure thatthe essential elements of a website become more noticeable and lessimportant elements, such as background photos, advertisements, orsmaller text, are not as much of a distraction. The processor associatedwith the accessibility GUI may scan the website and the website's sourcecode to determine what content is text, headings, images, graphics,videos, and/or animations. Within the cognitive disability profile,movement of background elements may also be paused so as to reducedistractions. When the user returns to his or her device for a secondbrowsing session, it may be desirable to maintain the settings that theuser entered during the first browsing session. Therefore, during thesecond or subsequent browsing session, titles and actionable objects maybe automatically highlighted to address the user's accessibility needs.

In some embodiments, a web accessibility profile selected during a firstwebsite browsing session is an epilepsy-safe profile, and the secondwebsite browsing session may include automatically decreasing displayintensity and limiting animation movement on a display to addressaccessibility needs of the user. Website users who suffer from epilepsymay be more sensitive to certain rates of flashing lights or contrastinglight and dark patterns than other users. Therefore, it may be desirableto decrease display intensity (i.e., color saturation and/or contrast)between website elements so as to avoid triggering an epileptic seizure.For example, in a first browsing session, website elements, such aspictures, text, videos, and/or other website content, may be presentedunaltered before selection of an accessibility profile. After theepilepsy-safe accessibility profile is selected, color intensity may bereduced so that two website elements, for example, two photos, appearless saturated to the user and there is less contrast. Additionally,animate content, such as an embedded video playing in the background ofa website, may appear inanimate or stationary to further reduce contrastbetween website elements to an epileptic user. When the user returns tohis or her device for a second browsing session, it may be desirable tomaintain the settings that the user entered during the first browsingsession. Thus, during a second or subsequent browsing session, displayintensity and animation movement may be automatically limited to addressthe user's accessibility needs.

In some embodiments, a web accessibility profile selected during a firstwebsite browsing session is a neurodevelopmental disorder profile, andthe second website browsing session may include automatically increasingcontent scaling and limiting animation movement to address accessibilityneeds of the user. Content scaling may also be automatically increased,and animation movement limited during the first browsing session. Theneurodevelopmental disorder accessibility profile reduces distractionsand provides more focus to certain website elements, which may behelpful to website users who suffer from ADHD or other similarneurodevelopmental disorders. In one example, a website user may wish toread an article. The neurodevelopmental disorder accessibility profilemay aid the website user in reading the article by only highlighting afew lines of text at a time as the user moves through the article. Thetext that the user is not currently reading may appear less bright thanthe relevant text. In some embodiments, the function of highlightingcertain text and not highlighting other text may be referred to as areading mask. The portion of text that is highlighted by the readingmask may differ between browsing sessions. When the user returns to hisor her device for a second browsing session, it is desirable to maintainthe settings that the user entered during the first browsing session.Here, display intensity (i.e., color saturation and contrast) andanimation movement are automatically limited to address the user'saccessibility needs.

By way of example, FIG. 16 is a flowchart illustrating an exemplarymethod 1600 for changing an accessibility profile that impacts multiplesessions. Method 1600 may be performed by one or more processors (e.g.,210A, 210B) associated with computing device 170 (as depicted in FIG.2). The steps of the disclosed method 1600 may be modified in anymanner, including by reordering steps and/or inserting or deletingsteps. Method 1600 may include a step 1602 of displaying a website witha set of display parameters having initial values. Method 1600 may alsoinclude a step 1604 of receiving a request to open an accessibilitygraphical user-interface (GUI) for the website. Method 1600 may alsoinclude a step 1606 of displaying the accessibility GUI for the website,wherein the accessibility GUI includes indications of a plurality of webaccessibility profiles. Each accessibility profile has an associated setof disability profile values for the display parameters, wherein thedisability profile values differ from the default values. Method 1600may also include step 1608 of receiving a first input via theaccessibility GUI indicative of a selection of a specific webaccessibility profile associated with a specific disability. Method 1600may also include a step 1610 of implementing a first website displaychange corresponding to the specific accessibility profile based on thefirst input. The website display changes cause the website to beaccessible to a user with the particular disability. The selectedaccessibility profile may be applied during a first browsing session anda second browsing session. Method 1600 may also include a step 1612 ofreceiving a second input via the accessibility GUI. This second inputmay be related to selecting another predefined accessibility profile, ormay further adjust content, color, and/or orientation settings. Method1600 may also include step 1614 of implementing a second website displaychange, based on the second input. Here, the new or customizedaccessibility profile, i.e., the selected profile after the secondinput, may be applied to subsequent browsing sessions.

Some disclosed embodiments may include a system for enabling a user tocustomize a web accessibility profile. The system may include a memoryconfigured to store values of various website display parametersassociated with a plurality of web accessibility profiles; and at leastone processor configured to: during a first website browsing sessionhaving an associated set of default values for display parameters,receive a web accessibility profile selection associated with aparticular disability, the web accessibility profile selection having anassociated set of disability profile values for the display parameters,the disability profile values differing from the default values; basedon the web accessibility profile selection, change the default valuesfor the display parameters to the disability profile values to therebycause, during the first website browsing session, the website to beaccessible to a user with the particular disability; cause to be storedin memory in association with the user, the web accessibility profileselection; during a second website browsing session of the user, performa lookup in memory of the web accessibility profile selection of theuser; and apply the web accessibility profile selection during thesecond website browsing session to thereby cause the second websitebrowsing session to be accessible to the user with the particulardisability.

Customizing a website for a disabled user may involve modifying amultitude of parameter settings, which may be inconvenient for someusers. To alleviate at least some of the inconvenience, a specific webaccessibility profile corresponding to a specific disability may beassociated with one or more predefined parameter settings for thewebsite, for example to address needs typically associated with thespecific disability. When a user selects the specific web accessibilityprofile (e.g., via an accessibility GUI), one or more changes may beautomatically made to a website corresponding to the one or morepredefined display settings, e.g., to adapt the website to accommodatetypical needs of users having the specific disability. However, somedisabled users may have needs that diverge from the typical needsassociated with the specific disability. Such users may benefit from anaccessibility GUI that allows users to further customize a website, forexample by changing or overriding one or more of the predefinedsettings. The accessibility GUI may thereby balance between efficiency(e.g., provided by the predefined settings) and customization (e.g.,provided by the capability to change or override one or more predefinedsettings).

For example, a cognitive display profile associated with cognitivedisability may include predefined display settings to increase thecontent scaling by 25% and highlight titles and links. However, aspecific cognitively impaired user may require the content scaling to beincreased by 40%. Thus, the accessibility GUI may implement thepredefined settings upon selection of the cognitive display profile(e.g., automatically) by a specific user, while allowing the specificuser to further personalize the website, such as by changing additionaldisplay parameters, and/or overriding one or more of the predefinedchanges already implemented. The personalized settings may be stored forsubsequent use by the specific user or a user with similar needs to thespecific user, e.g., to save time and effort the next time the user,initiates a browsing session.

As another example, typical users with ADHD (e.g., a specificdisability) may benefit from modifications to a website that halt therendering of video content and block pop-up windows. Accordingly, anADHD accessibility profile may be associated with predefined changes towebsite display parameters to halt the playing of video content andblock the display of pop-up windows, e.g., to accommodate typical needsof users with ADHD. However, a specific user with ADHD (e.g., anon-typical user) may require the blocking of pop-up windows but maytolerate the rendering of video content. The specific user may requestto change or override the display setting halting of the video contentvia the accessibility GUI. After defining the display settings for thespecific user, the display settings may be stored for implementingduring a subsequent browsing session by the specific user. For example,the next time the specific user with ADHD initiates a browsing session,pop-up windows may be blocked, e.g., implementing one of the predefinedsettings, but video content may be played, e.g., overriding anotherpredefined setting.

The description that follows relates to displaying an accessibilitygraphical user interface (GUI) for modifying a plurality of displayparameters of a website. The accessibility GUI may present a pluralityof web accessibility profiles, each associated with differingdisabilities. An initial input may be received via the accessibility GUIindicative of a selection of a specific web accessibility profile,(e.g., associated with a specific disability). Based on the initialinput, a plurality of predefined changes may be implemented (e.g.,automatically) in a group of display parameters of the website. Theplurality of predefined changes may be configured to address adisability (e.g., the specific disability) associated with the selectedweb accessibility profile. For example, the plurality of predefinedchanges may accommodate needs typically associated with the disability.The accessibility GUI may present information to indicate the pluralityof implemented changes in the display parameters, and thereby inform theuser of the changes made. This may allow the user to accept, reject ormodify one or more of the changes made, and/or to make additionalchanges. On receiving additional input via the accessibility GUI to makeat least one alteration to at least one of the predefined changes, thepredefined change may be overridden. The two-step approach provided bythe accessibility GUI, of first prompting the user to select a webaccessibility profile to implement a set of predefined changes (e.g., toaddress typical needs associated with the web accessibility profile),followed by prompting the user to modify or override one or more of thepredefined changes (e.g., to address individual needs of a specificuser) may enable users to personalize the display of web content toaccommodate their specific needs in an efficient and convenient manner.

In some instances, the description that follows may refer to FIGS. 17-19which illustrate an exemplary implementation of an accessibilitygraphical user interface (GUI) 1702 enabling a user to customize a webaccessibility profile, consistent with some disclosed embodiments.Accessibility GUI 1702 of FIGS. 17-19 is intended merely to facilitatethe conceptualizing of one exemplary implementation for an accessibilityGUI enabling a user to customize a web accessibility profile and doesnot limit the disclosure to any particular implementation.

Some embodiments involve a non-transitory computer readable mediumcontaining instructions that when executed by at least one processorcause the at least one processor to perform operations for enabling auser to customize a web accessibility profile. The term “webaccessibility profile” may be understood as described earlier. Acomputer program (e.g., a software application) may be provided forexecution by at least one processor to enable a user to personalize(e.g., customize) a web accessibility profile. The computer program maybe operable with a web browser configured to display web contentaccording to one or more standard display settings (e.g., configured fornon-disabled users), Executing the computer program may cause the atleast one processor to display an accessibility GUI (e.g., alongside awebsite) and prompt a user to select one of multiple web accessibilityprofiles. Each web accessibility profile may be associated with one ormore predefined (e.g., default) changes to display parameters that mayoverride one or more of the standard display settings. The predefinedchanges may be configured (e.g., in advance) to address typical needsassociated with disabilities corresponding to the web accessibilityprofile. The at least one processor may implement the predefined changesassociated with a specific web accessibility profile upon selection ofthe specific web accessibility profile by a user. The at least oneprocessor may allow the user to personalize the selected webaccessibility profile, for example to accommodate specific needs of theuser that differ from the typical needs (e.g., addressed by thepredefined changes). For example, the user may select to implementadditional changes not included in the predefined changes, or to modifyor override any of the predefined changes.

Some embodiments involve displaying an accessibility graphical userinterface (GUI) for modifying a plurality of display parameters of awebsite, wherein the accessibility GUI presents a plurality of webaccessibility profiles associated with differing disabilities. The terms“GUI,” “display parameter” and “website” may be understood as describedearlier. The term “modifying a plurality of display parameters of awebsite” may refer to adjusting or changing multiple displaycharacteristics of the website to alter the appearance of the website,where “display parameters” may relate to any format, feature, orcharacteristic for conveying information. Such display parameters mayimpact one or more of visual, audio, and tactile media, and may beassociated with a computer interface capable of enabling userinteraction or display. Examples of display parameters may includeparameters relating to text (e.g., font size, type and style, linespacing and height, margin size, text alignment), parameters relating tocolor (e.g., saturation, brightness, contrast, background color),parameters relating to images (e.g., image size, position, hiding orshowing images, halting or playing an animated video), parametersrelating to audio (e.g., to mute sounds, increase or decrease volume orspeed, apply filters), and any other parameters that may affect thedisplay of content. According to some embodiments, the displayparameters may also include parameters affecting the navigation of awebsite (e.g., cursor style and size, hover style, selection indication,link style). When a user initiates a browsing session (e.g., by causingat least one processor to execute a web browser), at least one processor(e.g., the same or different processor as the processor executing theweb browser) may retrieve the accessibility GUI from a server. (e.g., anaccessibility service host) and display the accessibility GUI, e.g.,inside or alongside the browser window. The accessibility GUI maypresent multiple different web accessibility profiles, each associatedwith a different disability and configured to accommodate a website forthe associated disability, e.g., by modifying one or more displayparameters of the website. For example, selecting a blind user profilemay automatically invoke a screen reader to accommodate typical blindpersons, and selecting a cognitive display profile may automaticallyincrease the content scaling to accommodate typical cognitively impairedusers, thereby modifying display parameters of the website.

By way of a non-limiting example, turning to FIG. 17, an accessibilityGUI 1702 may be displayed alongside a website 1704 to allow modifyingone or more display parameters of website 1704. For example, processingdevice 210A of FIG. 2 (e.g., at least one processor) may retrieveaccessibility GUI 1702 from accessibility service host 130 (FIG. 1) viacommunications network 140 and display accessibility GUI 1702, inresponse to any of users 110A, 110B, or 1100 opening a web browserapplication on computing devices 170A, 170B, 170C, respectively, to viewwebsite 1704. Accessibility GUI 1702 may present a variety of webaccessibility profiles for selection, each associated with a differentdisability. Selecting one of the web accessibility profiles may causeprocessing unit 210A to implement one or more predefined changes to oneor more display parameters of website 1704. The predefined changes mayaddress needs typical to a disability corresponding to the selected webaccessibility profile.

For example, GUI 1702 may present four web accessibility profiles: acognitive display profile 1712 associated with cognitive disabilities,an ADHD friendly profile 1714 associated with disabilities related toattention deficit and hyperactivity disorders, a blind users profile1716 associated with blindness, and a keyboard navigation profile 1718associated with motor impairment. It is to be noted that these profilesare intended as exemplary only, and the accessibility GUI may present adifferent set of web accessibility profiles, including additional and/orfewer web accessibility profiles. Processing device 210A may enable anyof users 110B, 110A or 1100 to customize any of the web accessibilityprofiles presented by GUI 1702. For example, user 110B, who iscognitively impaired, may use accessibility GUI 1702 to select andcustomize the cognitive display profile to assist user 110E innavigating website 1704 according to the specific needs and preferencesof user 110B. For example, the cognitive display profile 1712 may allowuser 110B to modify display parameters of website 1704, such as the fontsize, font color, highlighting of titles, links, which may facilitateuser 110B in navigating website 1704.

According to some embodiments, the plurality of web accessibilityprofiles involve at least three of vision impairment, epilepsy, colorblindness, mobility impairment, hearing difficulties, seizures,photosensitivity, cognitive impairment, or dyslexia. The accessibilityGUI may provide a diverse range of web accessibility profiles to suit awide range of disabled users, each web accessibility profile associatedwith a set of predefined changes to assist in adapting website to suitthe needs of different categories users. Additionally, the accessibilityGUI may enable users to customize any of the web accessibility profilesto personalize their interface with a website. This may enable theaccessibility GUI to address a wide range of disabilities efficientlywhile enabling users to further personalize the display. By way of anon-limiting example, FIG. 6 illustrates an accessibility GUI presentingsix different web accessibility profiles, such a Seizure Safe profile toaddress epilepsy, seizure, and photosensitivity, a Vision Impairedprofile to address vision impairment, color blindness and/orphotosensitivity, a cognitive display profile to address cognitiveimpairment, an ADHD Friendly profile to address dyslexia, a Blind Usersprofile to address blindness, and a Keyboard Navigation profile toaddress motor impairment. Similarly, the accessibility GUI may present aHearing-Impaired profile to address hearing difficulties, and additionalprofiles to address additional disabilities. In some embodiments, theaccessibility GUI may present web accessibility profiles for at leastthree of: of vision impairment, epilepsy, color blindness, mobilityimpairment, hearing difficulties, seizures, photosensitivity, cognitiveimpairment, or dyslexia. For example, presenting three or more profilesmay provide a sufficiently diverse range of accommodations for differingdisabilities without overcrowding the accessibility GUI and overwhelmingdisabled users with too many choices. For example, a facility servingblind and visually impaired persons may provide an accessibility GUIpresenting web accessibility profiles for vision impairment, colorblindness, and photosensitivity, but may omit web accessibility profilesfor epilepsy, mobility impairment, hearing difficulties, and cognitiveimpairment to simplify the accessibility GUI, since these profiles maynot be relevant to the users of the facility.

Some embodiments involve receiving initial input via the accessibilityGUI indicative of a selection of a specific web accessibility profile.The term “receiving” may refer to acquiring, obtaining, retrieving, orotherwise gaining access to information, e.g., via a user interface, asdescribed earlier. The term “input” may include any type of dataprovided by a user via an input device, as described earlier. The inputmay include text, voice, images, gestures, selection of web element, andany other format for data. For example, the accessibility GUI maydisplay web elements, such as an interactive button, graphic, or icon,associated with each web accessibility profile. An event listener maynotify the at least one processor when a specific web element associatedwith a web accessibility profile has been selected. As another example,the accessibility GUI may provide voice recognition and/or gesturerecognition capabilities to receive voice and/or gesture inputs as aselection of a web accessibility profile, respectively. In this manner,the at least one processor may receive a first input as a selection of aspecific web accessibility profile.

By way of a non-limiting example, FIG. 18 illustrates an exemplaryimplementation for receiving an initial input via accessibility GUI 1702indicating a selection of a specific web accessibility profile,consistent with some disclosed embodiments. FIG. 18 illustratesaccessibility GUI 1702 of FIG. 17 after a user (e.g., user 110B ofFIG. 1) has selected cognitive display profile 1712 (e.g., a specificweb accessibility profile) by selecting the ON setting for a button 1720associated with cognitive display profile 1712. User 1108 may performthe selection using any suitable input interface, such as by using anelectronic mouse, pen, keyboard, touch-sensitive screen (e.g.,display-based input), microphone (e.g., voice-based input), a camera(e.g., facial recognition and/or gesture or motion-based input), or anyother user interface means configured to receive an input from user110B. An event listener may notify processing device 210A of theselection, thereby processing device 210A may receive the initial inputvia accessibility GUI 1702 indicative selection of cognitive displayprofile 1712.

Some embodiments involve, based on the initial input, implementing aplurality of predefined changes in a group of display parameters of thewebsite to address a disability associated with the specific webaccessibility profile. The term “implementing a plurality of predefinedchanges in a group of display parameters of the website” may refer torefer to modifying, replacing, substituting, or otherwise altering arendering of one or more visual elements of the website according to oneor more settings defined in advance, e.g., for the specific webaccessibility profile. The term “address a disability” may refer totargeting the disability for the purpose of facilitating or assisting anindividual having that disability, for example to accommodate a websitefor navigation by the disabled individual, as described earlier. Thus,on receiving the first input indicating the selection of a specific webaccessibility profile, multiple default (e.g., predefined) changesassociated with the specific web accessibility profile may be (e.g.,automatically) implemented, such as to accommodate needs typical tousers associated with the specific web accessibility profile. Forexample, a typical blind user may benefit from a screen reader and avoice-enabled interface (e.g., predefined changes to a group of displayparameters). Selecting the Blind Users accessibility profile mayautomatically invoke the screen reader and voice-enabled interface toaccommodate a typical blind user. As another example, a typicalcognitively disabled person may benefit from an increase in contentscaling and displaying contextual graphic images on navigation buttons.Selecting the Cognitive Display accessibility profile may automaticallyincrease the content scaling and display descriptive graphic images toaccompany text. Similarly, selecting the ADHD accessibility profile mayblock pop-up windows and animation videos to assist typical users withADHD, and selecting the keyboard navigation accessibility profile maydisplay and enable keypress sequences for navigating a website to assisttypical users with motor impairment. According to some embodiments, thepredefined changes for each of the web accessibility profiles may bestored at an accessibility service host with the accessibility GUI.

By way of a non-limiting example, FIGS. 17-18 together, illustrate animplementation of a plurality of predefined changes to displayparameters for a website, based on the selection of a specific webaccessibility profile, consistent with some disclosed embodiments. Afterprocessing device 210A (FIG. 2) receives the notification indicating theselection of cognitive display profile 1712 by user 119E (FIG. 1) (e.g.,the initial input), processing device 210A may retrieve (e.g., from datastructure 136) a set of predefined settings for display parameters ofwebsite 1704 (e.g., a plurality of predefined changes in displayparameters of the website) corresponding to cognitive display profile1712. Processing device 210A may implement the predefined changes ondevice 170B accordingly. The predefined changes may be configured toaccommodate the needs of typical cognitively disabled users. Forexample, the default display settings for the cognitive display profilemay cause the display of titles and links of website 1704 to behighlighted, and the content scaling for website 1704 to be increased by25%. Processing device 210A may implement the predefined changes foruser 110B on the display of website 1704 on computing device 170B. Forexample, turning to FIG. 17 (e.g., before implementing the predefinedchanges) title 1708 and link 1710 of website 1704 are displayed withouthighlight, and the content scaling is set to default (e.g., according tothe standard settings for non-disabled users). Turning to FIG. 18 (e.g.,after implementing the predefined changes) title 1708 and link 1710 ofwebsite 1704 are displayed highlighted and the content scaling has beenincreased by 25%, in accordance with the predefined settings for thecognitive display profile.

Some embodiments involve presenting via the accessibility GUI,information indicative of the plurality of implemented changes in theplurality of display parameters associated with the specific webaccessibility profile. Thus, in addition to implementing the predefined(e.g., default) changes to the display parameters of the website,thereby displaying the website with the implemented changes, informationassociated with the changes that were implemented may be presented tothe user. This may inform the user of the changes made, e.g., in someembodiments to allow the user to decide which changes to accept, andwhich changes to reject and/or modify or override. For example, uponreceiving the selection of one of the web accessibility profiles, a listof the implemented changes may be displayed, e.g., inside a box of theaccessibility GUI. The list may be displayed in any location on thescreen to accommodate the user, such as inside the accessibility GUIdisplayed adjacent to the website, overlaid on the website content, orin any other area of the computer display displaying the accessibilityGUI and website.

By way of a non-limiting example, FIG. 18 illustrates a presentation ofmultiple changes to the display parameters for website 1704 implementedin response to selecting the cognitive display profile. On implementingthe predefined changes for the cognitive display profile, processingdevice 210A (FIG. 2) may present on computing device 170B (FIG. 1) acontent adjustments box 1706 listing the implemented changes contentadjustments box 1706 may inform user 110B of the changes. Contentadjustments box 1706 may additionally provide user 110B with aninterface to alter any of the predefined changes and implementadditional changes, not included in the predefined changes. For example,content adjustment box 1706 may include one or more interfacing elements(e.g., buttons, slide bars, icons, text boxes), each associated with adifferent display parameter. User 110B may select one or more of theinterfacing elements to personalize the associated display parameter tosuit the specific requirements of user 110B. This may allow user 110B toaccept, reject or modify any of the implemented changes, e.g., to suitthe preferences of user 110B. In the non-limiting example shown, contentadjustments box 1706 is displayed inside accessibility GUI 1702 andinforms user 110B that the content size for website 1704 has beenincreased by 25% and the titles and links of website 1704 have beenhighlighted, corresponding to the predefined changes for the cognitivedisplay profile (e.g., retrieved from accessibility service host 130).Additionally, content adjustment box 1706 may display settings foradditional display parameters for website 1704 not included in thepredefined changes for the cognitive display profile, such as buttonsreadable font 1722, text magnifier 1724, align center 1726, align left1728, and align right 1730 for adjusting various display parameters.

Some embodiments involve receiving additional input via theaccessibility GUI, indicative of a selection of at least one alterationto at least one of the plurality of predefined changes. For example, theinformation presented informing the user of the predefined changes(e.g., implemented in response to the selection of the specific webaccessibility profile) may include an interface allowing the user tomake additional changes or to modify (e.g., make alterations) to any ofthe implemented changes. The interface may include display-basedelements (e.g., interactive buttons, slide bars, dials, text boxes, andthe like) and non-display-based means (e.g., voice and/or gesture-basedinterface) as described earlier. The interface may allow the user tomake alterations to one or more of the changes already implemented(e.g., the predefined changes) and/or to change other display parametersof the website not affected by the predefined changes. This capabilitymay allow the user to personalize (e.g., customize) the display of thewebsite to accommodate the individual needs and preferences of the user,e.g., that may not have been addressed by the predefined changes.

For example, selecting the blind user profile may cause severalpredefined changes to be implemented to address blindness, such as tohide some displayed content and invoke a screen reader as a substitute.However, a specific blind user (e.g., accompanied by a seeing assistant)may wish to restore at least some of the hidden content (e.g., make analteration to one of the predefined changes). Additionally, oralternatively, the blind user may wish to increase the font size ofdisplayed content by 20% (e.g., change a display parameter not includedin the group of display parameters associated with the blind userprofile). To enable this customization, the accessibility GUI maypresent an interface allowing the blind user to individually adjust oneor more of the display parameters. At least a portion of the interfacemay be associated with the predefined changes for the blind userprofile. For example, selecting the blind user profile may automaticallyinvoke a microphone to detect voice commands, allowing the blind user toadjust settings for the screen reader and hidden content (e.g., thepredefined changes). The blind user may request (e.g., via themicrophone) to restore the hidden content and thereby alter one of thepredefined changes. In this manner, the processor may receive additionalinput via the accessibility GUI to alter one of the predefined changes.Additionally, or alternatively, the blind user may request to increasethe font size by 20% to implement a change not included in the group ofpredefined changes associated with the blind user profile.

By way of a non-limiting example, FIG. 19 illustrates an exemplaryimplementation for receiving additional input via accessibility GUI 1702to alter one of the predefined changes, consistent with disclosedembodiments. After being informed via content adjustments box 1706 thatthe content size for website 1704 was increased by 25% and the titlesand links of website 1704 were highlighted (e.g., the predefined changesimplemented in response to selecting the cognitive display profile),user 110B (FIG. 1) may decide to accept some of the predefined changes.For example, user 110B may decide to keep the increase in contentscaling and the highlighting of the titles of website 1704 by leavingthese parameters settings unchanged. However, user 110B may decide toreject the highlighting of links of website 1704 (e.g., implement analteration to one of the predefined changes) by deselecting thehighlight links button 1736. Accordingly, content adjustments box 1706of accessibility GUI 1702 indicates the content scaling is still set to+25%, and the highlight titles button is still selected (e.g., user 110Bdid not make alterations to two of the three predefined changes), butthe highlight links button 1736 is now deselected (e.g., user 110B madean alteration to one of the three predefined changes). An event listenermay notify processing unit 210A of the deselection of the HighlightingLinks button, thereby processing unit 210A may receive additional inputvia accessibility GUI 1702 indicating a selection of an alteration toone or the predefined changes. Additionally, or alternatively, user 110Bmay change additional parameter settings, not included in the predefinedchanges for the cognitive display profile. For example, user 110B mayselect readable font button 1722 and align center button 1726 to removeserifs and center align text content of website 1704, respectively. Anevent listener may notify processing unit 210A of the selection of thereadable font and align center buttons and implement these changesaccordingly.

Some embodiments involve overriding, in response to the additionalinput, at least one of the plurality of predefined changes to therebyenable customization of the selected web accessibility profile. Forexample, after receiving the additional input via the accessibility GUI,an alteration may be made to one of the predefined changes implementedearlier, for example to accommodate specific needs that diverge from thetypical needs addressed by the predefined changes. This may allowpersonalizing (e.g., customizing) the display of the website to suit theindividual requirement and needs of the user. Returning to the exampleof the blind user, on receiving the voice command to restore contenthidden in response to the selection of the blind user profile, the atleast one processor may restore the hidden content, thereby overridingat least one of the predefined changes associated with the blind userprofile. Overriding the predefined change may help customize the blinduser profile for the specific blind user, e.g., accompanied by a seeingassistant.

By way of a non-limiting example, FIG. 19 illustrates an exemplaryimplementation for overriding one of the predefined changes in responseto the additional input to customize the web accessibility profile forthe specific user, consistent with disclosed embodiments. On receivingthe additional input from user 110B (FIG. 1), e.g., as a deselection ofthe highlight links button 1736 in content adjustments box 1706,processing unit 210A (FIG. 2) may display link 1710 of website 1704without highlighting, thereby overriding one of the predefined changes.However, title 1708 may still be displayed with highlighting since user110E has not deselected the highlight title button 1734, and thereforehas not requested to override this predefined change.

According to some embodiments, the additional input is indicative of adegree of adjustment to the at least one of the plurality of predefinedchanges. For example, some display parameters may be defined by apercent increase or decrease or as a value inside a range of possiblevalues to indicate a degree of adjustment for the display parameters. Asan example, display parameters such as color saturation and contentscaling may be defined as a percent of a maximum possible value. Otherdisplay parameters, such as font size, line height, or letter spacingmay be defined by a value within a range of minimum and maximum values.The additional input may therefore be a selection of a specific value,or it may involve the sliding a slider or the use of some otherinterface control through which the additional input is provided.

By way of a non-limiting example, turning to FIG. 18, the contentscaling slide bar 1732 of content adjustments box 1706 of accessibilityGUI 1702 is set to 25%, indicating a degree of adjustment to the contentscaling. Adjusting the slide bar 1732 to 40% may increase the contentscaling accordingly. By contrast, the highlight links button 1736 hasonly a binary (e.g., on/off) setting that may be set by selecting ordeselecting the button, respectively.

According to some embodiments the additional input is indicative of aselection to cancel at least one of the predefined changes in the groupof display parameters. For example, informing the user of theimplemented predefined changes may allow a specific user to reject(e.g., cancel) one of the predefined changes, e.g., if the predefinedchange does not suit the specific user. For example, a user may cancel apredefined change by deselecting a button associated with the predefinedchange (e.g., switching the button to “OFF”), by adjusting a slide barto revert the value of a display parameter to an original value (e.g.,before the predefined change was implemented), by selecting the originalvalue for the display parameter from a menu, by typing the originalvalue for the display parameter into a text box, or by using any otherinterfacing means to cancel the predefined change (e.g., by pressing ona “Cancel Changes” button).

By way of a non-limiting example, turning to FIG. 19, the deselection ofthe highlight links button 1736 of content adjustments box 1706 (e.g.,additional input) may indicate to processing device 210A (FIG. 2) tocancel the predefined change to highlight links, associated with thecognitive display profile. Accordingly, while link 1710 is displayed inFIG. 18 highlighted, link 1710 is displayed in FIG. 19 withouthighlight, e.g., the predefined change has been cancelled.

According to some embodiments, the additional input is furtherindicative of an additional selection of a change other than one of thepredefined changes. In addition to the predefined changes associatedwith a given web accessibility profile, the accessibility GUI may allowusers to personalize other display parameters, not included in the groupof predefined changes. For example, selecting an ADHD accessibilityprofile may automatically cause pop-up windows and animation videos tobe blocked, (e.g., predefined changes to parameter settings to addresstypical needs of ADHD users). However, a specific user with ADHD maysuffer from poor color perception and may thus wish to alter the colorsaturation and color contrast settings which are not included in thepredefined changes for users with ADHD. The accessibility GUI mayprovide the user with an interface for adjusting additional parametersother than the predefined changes, such as the color saturation andcontrast.

By way of a non-limiting example, turning to FIG. 19, user 110B (FIG. 1)has selected the readable font button 1722 and align center button 1726of content adjustment box 1706, which were not included in the group ofpredefined changes for the cognitive display profile. User 110B may thusprovide additional input indicating a selection to make a change otherthat one of the predefined changes.

Some embodiments may involve determining, based on the additional input,a first value for a first display parameter and a second value for asecond display parameter. For example, the accessibility GUI may allow auser to change multiple different display parameters. Returning the ADHDexample above, after selecting the ADHD accessibility profile toimplement the predefined changes, the specific user with ADHD mayprovide additional input via the accessibility GUI, for example toadjust the color settings to address poor color perception. Theadditional input may affect multiple different display parametersrelated to the display of color. For example, the additional input mayinclude multiple values to update the color saturation, the colorcontrast, and highlight links when displaying the website.

By way of a non-limiting example, turning to FIG. 19, after selectingthe cognitive display profile (e.g., the first input), user 110B(FIG. 1) may provide additional input via content adjustments box 1706such as to deselect highlight links button 1734 and to select aligncenter button 1726. Thus, processing unit 210 (FIG. 2) may determine todisplay link 1710 in website 1704 not highlighted (e.g., the first valuefor the first display parameter) and center aligned (e.g., the secondvalue for the second display parameter). It is to be noted that thefirst and second values for the first and second display parameters mayrelate to the same or different display elements. For example, the usermay set two setting affecting the display of the title, such as aligncenter and highlight. Thus, the first and second values may both relateto the same display element.

According to some embodiments, the first value is a binary, and thesecond value defines a range value. For example, some display parameters(e.g., highlight links, highlight titles, block pop-ups) may be set asbinary values, such as an ON/OFF toggle or by selecting or deselecting abutton associated with a display parameter. Other display parameters maybe set as a value within a range of possible values (e.g., a rangevalue) to indicate a degree of adjustment. For example, displayparameters such as content scaling, color saturation, and font size maybe defined as a value or percentage within a range of possibilities.Whereas display parameters such as highlighting links and titles maytake on binary (e.g., ON/OFF) values. The accessibility GUI may allowthe user to adjust parameter settings that take on binary values andvalues within a range of values. Returning to the ADHD example above,after selecting the ADHD accessibility profile (e.g., the first input)the user with ADHD may provide additional input to (i) highlight linksand (ii) increase the color saturation to 80%. The user may select ahighlight links button as a binary value (e.g., ON/OFF) and may set thecolor saturation to 80% by maneuvering a slide bar.

By way of a non-limiting example, turning to FIG. 19, after selectingcognitive display profile 1712 (e.g., the first input), user 110B(FIG. 1) may provide additional input via content adjustments box 1706by selecting readable fonts button 1722 (e.g., a binary value) andadjusting the slide bar of content scaling 1732 (e.g., a range value).

Some embodiments include using the initial input and the additionalinput for modifying a display of at least one additional website. Forexample, after customizing the display of a first website via theaccessibility GUI, e.g., based on the first and additional inputs, whenthe user navigates to a second website, such as via a link on the firstwebsite, the display of the second website may be modified similarly tothe modification made to the first website, e.g., based on the first andadditional inputs. For example, a blind user may select the blind userprofile to automatically invoke a screen reader for navigating the firstwebsite. When the blind user navigates to the second website (e.g., viaa link in the first website), the screen reader may continue to beinvoked for the second website in accordance with the predefined changesmade for the first website. As another example, the display parametersdefined by a user (e.g., via the first and additional inputs) fornavigating a first website may be stored for a subsequent browsing. Forexample, the display parameters may be stored locally at the computer ofthe user for a subsequent browsing session by the user at the samecomputing device. Alternatively, the display parameters may be storedremotely, e.g., at an accessibility server, for a subsequent browsingsession on the same or a different computing device. On initiating a newbrowsing session via a web browser to navigate a new website, thedisplay parameters from the previous browsing session may be retrievedfrom memory and implemented for the new browsing session, e.g., tomodify the display of the new website based on the first and additionalinputs. The display parameters may be stored in association with theuser, the computing device of the user, the web accessibility profile ofthe user, or any other criterion that may assist in modifying a websitefor a web accessibility profile.

By way of a non-limiting example, turning to FIG. 19, after selectingcognitive display profile 1712 (e.g., the first input), multiplepredefined changes may be made. For example, links and titles of website1704 may be highlighted and the content scaling may be increased by 25%as indicated by highlight titles and highlight links buttons 1734, and1736 being highlighted (e.g., set to ON), and content scaling 1732 setto 25%. However, user 110B (FIG. 1) may further modify displayparameters by deselecting highlight links button 1736 and selectingreadable font and align center buttons 1722 and 1726, respectively. Theweb browser may adjust the display of website 1704 on computing device170B to reflect these modifications. The updated display settings may bestored in memory (e.g., in RAM or memory device 220A of computing device170B or in data structure 250B of server 136). When user 110B presses onlink 1710 (e.g., Learn More) to navigate to another website, differentthan website 1704, the web browser may apply the same parameter settings(e.g., retrieved from storage in memory) to display the other website.Thus, the content scaling of the other website may be increased by 25%,and the highlight titles, readable font and align center buttons 1734,1722 and 1726 may be selected to highlight titles, change font andcenter align text, respectively.

Some embodiments may involve saving the display parameter settings forsubsequent use by the specific user. Thus, some embodiments may involvecausing storage of first data indicative of a web accessibility profileselection corresponding to the received input and causing storage ofsecond data indicative of a profile customization selectioncorresponding to the received additional input. As noted, theadjustments made by a user to the predefined changes associated with aspecific web accessibility profile may be stored for subsequent use.This may simplify the experience for the specific user and spare thespecific user from having to repeatedly adjust the parameter settingsfor each session. Thus, both the web accessibility profile selected bythe user (e.g., the first input) and the adjustments made by the user tothe predefined changes associated with the selected web accessibilityprofile (e.g., the additional input) may be stored in memory (e.g.,locally at the computing device used by the user, or remotely at a cloudstorage facility). The first and additional input may be stored inassociation with a unique identifier for the user and/or optionally, thecomputing device of the user. On identifying the user and/or thecomputing device of the user during a subsequent session, the selectedweb accessibility profile and any modification made to predefinedchanges associated therewith may be retrieved and implemented.

By way of a non-limiting example, turning to FIG. 19, processing device210A (FIG. 2) may store the selection by user 110E (FIG. 1) of thecognitive display profile (e.g., first data corresponding to the firstinput) and the deselection of the highlight links button and theselection of the readable font and align center buttons 1722 and 1726(e.g., second data indicating profile customization) at data structure2503 of accessibility service host 130 or alternatively at memory device220A of computing device 170B. The first and second data may be storedin association with a unique identifier for user 110B and/or for device170B for subsequent retrieval and implementation.

According to some embodiments at least one of the first data and seconddata is stored in a computing device for displaying the website. Asdescribed earlier, a computing device may include all possible types ofdevices capable of exchanging data in a communications network such asthe Internet. For example, some display parameter settings may be storedat a local memory device of the computing device used by the user, e.g.,to navigate the website. This may be useful in situations where a userhas exclusive use of the computing device but may also be useful whenthe computing device is shared by multiple users with similaraccessibility needs. Local storage may also facilitate quick retrievaland implementation of the parameter settings. Thus, the webaccessibility profile selected by the user (e.g., first data) and/ormodifications made to predefined changes associated therewith (e.g.,second data) may be stored at the computing device used by the user fordisplaying the website, e.g., to facilitate retrieval for subsequentimplementation.

By way of a non-limiting example, turning to FIG. 19, processing device210A may store the selection of the cognitive display profile (e.g.,first data) and/or the deselection of the highlight links button and theselection of the readable font and align center buttons (e.g., seconddata) locally at computing device 170B (FIG. 1) used by user 110B todisplay website 1704. The display parameters may be stored inassociation with a unique identifier for user 110B and/or computingdevice 170B, e.g., to enable retrieval based on identifying user 110Band/or computing device 170B. The display parameters may be stored inRAM memory (e.g., for access during a current browsing session) or inmemory device 220A (FIG. 2) of device 170B or in data structure 250A(e.g., for access during a subsequent browsing session). The displayparameters may be stored in any suitable format such as in a table, ascookies (e.g., small text files), as source code instructions (e.g., forinjecting into source code for a website), in a linked list, in adatabase (e.g., a semantic or relational database), and any other formatfor storing display parameters.

According to some embodiments, at least one of the first data and seconddata is stored on a remote server for hosting an accessibility serviceassociated with the accessibility GUI. For example, in situations wherethe user does not have exclusive use of a computing device, or when theuser wishes to transfer display parameters defined on one computingdevice to another computing device (e.g., from a desktop computer to amobile device), it may be useful to store one or more display parametersat a cloud storage facility accessible by multiple devices via anetwork. This may allow the user to access the display parameters fromany computing device in communication with the remote server. Thedisplay parameters may be stored in any suitable format such as in atable, as cookies (e.g., small text files), as source code instructions(e.g., for injecting into source code for a website), in a database, ina linked list, and any other format for storing display parameters.

By way of a non-limiting example, user 110B may use computing device170B to select cognitive display profile 1720 (e.g., first data),deselect highlight links button 1736, and select readable font and aligncenter buttons 1722 and 1726 (e.g., second data). Processing device 210A(FIG. 2) may store the selection of cognitive display profile 1720 thedeselection of the highlight links button 1736 and the selection of thereadable font and align center buttons 1722 and 1726 (e.g., second data)remotely at data structure 136 of Accessibility Service Host 130, inassociation with a unique identifier for user 110B (FIG. 1).Subsequently, user 110B may use a mobile device (not shown) differentthan computing device 110B to access the display parameters viacommunications network 140. The display parameters may be retrieved byquerying data structure 136 with the unique identifier of user 110B andimplemented on the mobile device for a new browsing session.

According to some embodiments the initial input and the additional inputare received during a first browsing session, and the operations furtherinclude, during a second browsing session, retrieving from memory thefirst data and the second data; and applying the web accessibilityprofile selection including the profile customization selection tothereby provide a customized accessibility experience for the userduring the second browsing session. The term “browsing session” mayrefer to a continuous period of user activity in a web browser, where aweb browser is a software application for accessing digital content onthe World Wide Web or on a local internet site. For example, a browsingsession may last for 30 minutes, but may be shorter or longer than 30minutes. A browsing session may be initiated by opening a web browser ona computing device. The web browser may retrieve source code for awebpage, e.g., from a remote website host, and execute the source code(e.g., on the computing device) to render the digital content of thewebpage on the computing device (e.g., a first browsing session). Thefirst browsing session may be terminated when the user closes thebrowser application or after a period of time that it was not used.Reopening the browser application may initiate a new, e.g., secondbrowsing session. The second browsing session may be initiated by thesame user and on the same device as the first browsing session, by thesame user on a different device as the first browsing session, by adifferent user on the same device as the first browsing session, or by adifferent user on a different device as the first browsing session. Oneor more display parameters set during the first browsing session may bestored in memory and retrieved for the second browsing session. Forexample, the display parameters (e.g., the web accessibility profilecustomized by the additional input) may be stored in association with anidentifier of the user and/or the computing device of the first browsingsession. The display parameters may be retrieved for the second browsingsession by querying for the identifier. The display parameters may bestored in a table, as small text files or cookies, as source codeinstructions for injecting into source code of a website, in a database,in a linked list, and any other format for storing display parameters.

Thus, after the user customizes the display parameters during the firstbrowsing session, the display parameters e.g., including the selectedweb accessibility profile (the initial input) and additional inputoverriding one or more predefined changes (e.g., the second data) may bestored in memory (e.g., locally, or remotely). After the first browsingsession terminates (e.g., by closing the web browser), upon initiationof the second browsing session (e.g., by opening the same or differentweb browser), the display parameters may be retrieved from memory. Theretrieved display parameters may be applied for the second browsingsession to continue to provide a customized accessibility experience forthe second browsing session. For example, a first blind user maycustomize display parameters for a blind user profile during a firstbrowsing session on a first computing device. The customized displayparameters may be stored on the first computing device (e.g., ascookies). During a subsequent browsing session on the first computingdevice (e.g., by the same blind user or another blind user) thecustomized display parameters may be retrieved and implemented tocontinue providing a customized accessibility experience for the firstand/or second blind users. As another example, a cognitively impaireduser may customize display parameters for a cognitive display profileduring a first browsing session on a desktop computer. The customizeddisplay parameters may be stored at a remote (e.g., cloud) storagedevice (e.g., as cookies). During a subsequent browsing session by thesame cognitively impaired user on a mobile device, different than thedesktop computer, the customized display parameters may be retrieved(e.g., based on the identifier of the cognitively impaired user) andimplemented on the mobile device to continue providing the customizedaccessibility experience to the cognitively impaired user on the mobiledevice.

By way of a non-limiting example, turning to FIG. 19, after terminatingthe browsing session to navigate website 1704, processing device 110A(FIG. 2) may store the selection of the cognitive display profile (e.g.,first input), the deselection of the highlight links button (e.g.,second input overriding one of the predefined changes associated withthe cognitive display profile) and the selection of the readable fontand align center buttons (e.g., second inputs not included in thepredefined changes), e.g., at computing device 170B in association withuser 110B. When user 110B initiates a new browsing session (e.g., thesame user on the same computing device), processing device 110A mayautomatically retrieve the parameter settings from storage and implementthe corresponding changes, accordingly.

According to some embodiments, during the second browsing session andbefore applying the web accessibility profile selection including theprofile customization selection, the operations further includeconfirming that a user associated with the second browsing session is asame user that provided the initial input and the additional input. Forexample, in situations where one computing device is shared acrossmultiple users, such as in a library, a home, a workplace, or hostel, itmay be beneficial to confirm the identify of a user before implementingchanges. This may prevent implementing inappropriate modifications, forexample implementing changes suitable for blind users on a computingdevice used by a cognitively impaired user or implementing customizedchanges for one blind user on a computing device used by a differentblind user. For example, each user may be associated with a uniqueidentifier allowing the at least one processor to retrieve thecustomized settings for each specific user. The unique identifier may bebased on biometric data, personal data (e.g., birthday, home address), ausername, a password, a personal identity code (PIN), an email address,a phone number, a one-time password (e.g., for use with a cryptographichash function), or any other type of uniquely identifying data. Thedisplay parameters may be stored in association with the uniqueidentifier in a database, and retrievable by querying the database withthe unique identifier. Before implementing changes associated with aspecific user, the at least one processor may first confirm the identityof the specific user, to ensure that the implemented changes aresuitable for the specific user. For example, the user may be promptedfor a password, (e.g., a one-time password sent to a personal emailaddress or mobile device of the user), for biometric data (e.g., as afinger press on a touch sensitive display), personal data, or any othertechnique for verifying the identity of the user. Similarly, an imagesensor such as a camera associated with the computing device may captureone or more images of a user's face or hands, to thereby confirm theidentity of the user as a basis for implementing a set of webaccessibility parameters. In a similar way, voice patters or keystrokepatterns of the user may be detected in order to confirm the user'sidentity (e.g., by comparing the patterns to prior known patternsassociated with the user.

According to some embodiments, during the second browsing session andbefore applying the web accessibility profile selection and the profilecustomization selection, the operations further include avoidingapplication of the web accessibility profile selection and the profilecustomization selection when the second browsing session is associatedwith a second user different from the user that provided the initialinput and the additional input. For example, if the current user isdifferent than a previous user, changes associated with the previoususer may not be implemented. For example, a first visually impaired usermay use a computing device during a first browsing session to customizeparameter settings for the visually impaired user profile. Thecustomization may invoke the screen reader only for text contentincluded in navigation links and titles, but not for other textdisplayed in the website. The customizes parameter settings for thefirst visually impaired user may be stored for a subsequent browsingsession by the first visually impaired user. A second visually impaireduser may use the same computing device during a second browsing session.However, the customized settings for the first visually impaired usermay not suit the second visually impaired user who may wish to invokethe screen reader for all text content in the website. Thus, beforeimplementing the changes associated with the first visually impaireduser the identity of the current user of the computing device may beconfirmed. If the current user is the second visually impaired user(e.g., different than the first visually impaired user) theimplementation of the customized parameter settings may be avoided.

By way of a non-limiting example, during a first browsing session ondevice 170A, user 110A who is visually impaired may select a VisuallyImpaired profile (e.g., FIG. 6) and may further customize the VisuallyImpaired profile by increasing color saturation to 80%. Following thefirst browsing session, user 110B who is cognitively impaired may alsouse device 170A for a browsing session (e.g., a second browsingsession). However, the display settings defined by user 110A may notsuit user 110B. For example, the increased color saturation may disturbuser 110B, and user 110B may benefit by the addition of descriptivegraphic images to accompany text. Processing unit 210A may detect thatuser 110B is different than user 110A (e.g., based on a password orbiometric identification) and may thus avoid applying changescorresponding to the Visually Impaired profile and any customization tothe same.

Some embodiments involve enabling a user to customize a webaccessibility profile. Such embodiments may also include displaying anaccessibility graphical user interface (GUI) for modifying a pluralityof display parameters of a website, wherein the accessibility GUIpresents a plurality of web accessibility profiles associated withdiffering disabilities. Initial input may be received via theaccessibility GUI indicative of a selection of a specific webaccessibility profile. Based on the initial input, a plurality ofpredefined changes may be implemented in a group of display parametersof the website to address a disability associated with the specific webaccessibility profile. Information indicative of the plurality ofimplemented changes in the plurality of display parameters associatedwith the specific web accessibility profile may be presented via theaccessibility GUI. Additional input may be received via theaccessibility GUI, indicative of a selection of at least one alterationto at least one of the plurality of predefined changes. In response tothe additional input, at least one of the plurality of predefinedchanges may be overridden to thereby enable customization of theselected web accessibility profile. FIG. 20A illustrates a flowchart ofan example process 2000 for enabling a user to customize a webaccessibility profile via an exemplary content adjustments box 2014illustrated in FIG. 20B, consistent with embodiments of the presentdisclosure. Content adjustments box 2014 may correspond to contentadjustments box 1706 of FIGS. 18-19. In some embodiments, the process2000 may be performed by at least one processor (e.g., processing device210A of computing device 170, shown in FIG. 2) to perform operations orfunctions described herein. In some embodiments, some aspects of process2000 may be implemented as software (e.g., program codes orinstructions) that are stored in a memory (e.g., memory device 220A ofcomputing device 170, shown in FIG. 2) or a non-transitory computerreadable medium. In some embodiments, some aspects of the process 2000may be implemented as hardware (e.g., a specific-purpose circuit). Insome embodiments, the process 2000 may be implemented as a combinationof software and hardware.

FIG. 20A includes process blocks 2002 to 2012. Process 2000 may includea step 2002, where an accessibility graphical user interface (GUI) maybe displayed for modifying a plurality of display parameters of awebsite. The accessibility GUI may present a plurality of webaccessibility profiles associated with differing disabilities. Forexample, turning to FIG. 17, processing device 210B of computing device170 (FIG. 2) may display accessibility GUI 1702 on computer 170B(FIG. 1) to modify multiple display parameters of website 1704accessibility GUI 1702 may include multiple web accessibility profiles,each associated with a different disability, such as a cognitive displayprofile associated with cognitive disabilities, an ADHD friendly profileassociated with disabilities related to attention deficit andhyperactivity disorders, a blind users profile associated with visualimpairment, and a keyboard navigation profile associated with motorimpairment.

Process 2000 may include a step 2004, where initial input, indicative ofa selection of a specific web accessibility profile, may be received viathe accessibility GUI. By way of a non-limiting example, turning to FIG.18, user 110B may select the cognitive display profile by clicking on abutton provided by accessibility GUI 1702. An event listener may detectthe selection and notify processing device 210B (FIG. 2).

Process 2000 may include a step 2006, where based on the initial input,a plurality of predefined changes in a group of display parameters ofthe website may be implemented to address a disability associated withthe specific web accessibility profile, By way of a non-limitingexample, turning to FIG. 18, based on the selection of the cognitivedisplay profile, processing device 210B (FIG. 2) may retrieve fromaccessibility service host 130 (FIG. 1) a set of predefined changesassociated with cognitive impairment, such as to highlight titles,links, and increase the content scaling by 25%. These predefined changesmay be intended to address typical users with cognitive impairment.Processing device 210B may implement the changes to address cognitiveimpairment associated with the cognitive display profile. Accordingly,link 1710 and title 1708 are now displayed highlighted.

Process 2000 may include a step 2008, where information indicative ofthe plurality of implemented changes in the plurality of displayparameters associated with the specific web accessibility profile may bepresented via the accessibility GUI. By way of a non-limiting example,Content adjustment box 1214 displays information indicating settings formultiple display parameters for a website. Each web accessibilityprofile may be associated with a different set of predefined changes toone or more parameter settings, for example to address needs typical toa disability associated with each web accessibility profile. When a userselects a specific web accessibility profile, the predefined changesassociated with the web accessibility profile may be implemented (e.g.,automatically). In addition, Content adjustment box 1214 may bedisplayed to allow the user to fine tune any of the settings for thedisplay parameters, including overriding one or more of the predefinedsettings, or defining settings for other display parameters. As anothernon-limiting example, turning to FIG. 18, processing device 210B (FIG.2) may display information indicating the implemented changes in contentadjustments box 1706 of accessibility GUI 1702. Accordingly, thehighlight titles and highlight links buttons are shown as selected andthe content scaling slide bar shows an increase of 25%, corresponding tothe changes implemented based on the predefined changes for thecognitive display profile.

Process 2000 may include a step 2010, where additional input may bereceived via the accessibility GUI, indicative of a selection of atleast one alteration to at least one of the plurality of predefinedchanges. By way of a non-limiting example, turning to FIG. 19, user 110Bhas deselected the highlight links button of content adjustments box1706. An even listener may notify processing device 210B of thedeselection (e.g., additional input) indicating a selection to make analteration to at least one of the predefined changes.

Process 2000 may include a step 2012, where in response to theadditional input, at least one of the plurality of predefined changesmay be overridden to thereby enable customization of the selected webaccessibility profile. By way of a non-limiting example, turning to FIG.19, in response to the deselection of the highlight links button ofcontent adjustments box 1706 (e.g., the additional input), processingdevice 210B may override the predefined setting to highlight the links.Accordingly, website 1704 is displayed with the links not highlighted,while the titles remain highlighted, and the content scaling remains at+25%.

Some embodiments may involve, when the initial input indicates that theselected web accessibility profile is a vision impairment profile, theplurality of predefined changes include increasing content scaling andincreasing display intensity, and the additional input is configured tocustomize the vision impairment profile to address specific user needs.The term “vision impairment profile” may be designed for disabilitiessuch as degrading eyesight, tunnel vision, cataract, glaucoma, andothers, as described earlier. For example, increasing content scalingand increasing display intensity may address needs typically associatedwith vision impairment. Thus, the predefined changes associated with thevision impairment profile may automatically implement changes toaccommodate typical vision impaired users. However, vision impairmentmay vary widely between different users. For example, some users mayhave only mild vision impairment, requiring only a few displayadjustments, whereas other users may have more severe vision impairment,requiring significant display adjustments. Thus, the degree of visualimpairment may impact the degree of adjustment needed. Accordingly,after automatically implementing the predefined changes associated withvision impairment, the accessibility GUI may allow a specific visuallyimpaired user to customize the vision impairment profile. A specificuser with mild vision impairment may make mild adjustments to customizethe vision impairment profile, and a specific user with more severevision impairment may make more significant adjustments to customize thevision impairment profile.

Some embodiments may involve, when the initial input indicates that theselected web accessibility profile is a cognitive disability profile,the plurality of predefined changes include highlighting titles andactionable objects on the website, and the additional input isconfigured to customize the cognitive disability profile to addressspecific user needs. The term “cognitive disability profile” may bedesigned to help users with cognitive disabilities such as autism,dyslexia, CVA, and others, as described earlier. For example,highlighting titles and actionable objects on the website may addressneeds typically associated with cognitive impairment. Thus, thepredefined changes associated with the cognitive impairment profile mayautomatically implement changes to accommodate typical cognitivelyimpaired users. However, cognitive impairment may vary widely betweendifferent users. For example, users with only mild cognitive impairmentmay require only a few display adjustments, whereas users with moresevere cognitive impairment may require more significant displayadjustments. Thus, the degree of cognitive impairment may impact thedegree of adjustment needed. Accordingly, after automaticallyimplementing the predefined changes associated with cognitiveimpairment, the accessibility GUI may allow a specific cognitiveimpaired user to customize the cognitive impairment profile. A specificuser with mild cognitive impairment may make mild adjustments tocustomize the cognitive impairment profile, and a specific user withmore severe cognitive impairment may make more significant adjustments,accordingly.

Some embodiments may involve, when the initial input indicates that theselected web accessibility profile is an epilepsy-safe profile, theplurality of predefined changes include decreasing display intensity andlimiting animation movement on a display, and the additional input isconfigured to customize the epilepsy-safe profile to address specificuser needs. The term “epilepsy-safe profile” may correspond to aseizure-safe profile, as described earlier. For example, decreasingdisplay intensity and limiting animation movement on a display mayaddress needs typically associated with epilepsy. Thus, the predefinedchanges associated with the epilepsy-safe profile may automaticallyimplement changes to accommodate typical users with epilepsy. However,epilepsy may vary widely between different users. For example, userswith mild epilepsy may require only a few display adjustments, whereasusers with more severe epilepsy may require more significant displayadjustments. Thus, the degree of epilepsy may impact the degree ofadjustment needed. Accordingly, after automatically implementing thepredefined changes associated with epilepsy, the accessibility GUI mayallow a specific user with epilepsy to customize the epilepsy-safeprofile. A specific user with mild epilepsy may make mild adjustments tocustomize the epilepsy-safe profile, and a specific user with moresevere epilepsy may make more significant adjustments, accordingly.

Some embodiments may involve when the initial input indicates that theselected web accessibility profile is an ADHD friendly profile, theplurality of predefined changes include increasing content scaling andlimiting animation movement on a display, and the additional input isconfigured to customize the ADHD friendly profile to address specificuser needs. For example, increasing content scaling and limitinganimation movement on a display may address needs typically associatedwith ADHD. Thus, the predefined changes associated with the ADHDfriendly profile may automatically implement changes to accommodatetypical users with ADHD. However, ADHD may vary widely between differentusers. For example, users with mild ADHD may require only a few displayadjustments, whereas users with more severe ADHD may require moresignificant display adjustments. Thus, the degree of ADHD may impact thedegree of adjustment needed. Accordingly, after automaticallyimplementing the predefined changes associated with ADHD, theaccessibility GUI may allow a specific user with ADHD to customize theADHD-friendly profile. A specific user with mild ADHD may make mildadjustments to customize the ADHD-friendly profile, and a specific userwith more severe ADHD may make more significant adjustments,accordingly.

Some embodiments involve a system for enabling a user to customize a webaccessibility profile. The system may include a memory configured tostore values of various website display parameters associated with aplurality of web accessibility profiles, and at least one processor. Theprocessor may be configured to: display an accessibility graphical userinterface (GUI) for modifying a plurality of display parameters of awebsite, wherein the accessibility GUI presents a plurality of webaccessibility profiles associated with differing disabilities; receiveinitial input via the accessibility GUI indicative of a selection of aspecific web accessibility profile; based on the initial input,implement a plurality of predefined changes in a group of displayparameters of the website to address a disability associated with thespecific web accessibility profile; present via the accessibility GUI,information indicative of the plurality of implemented changes in theplurality of display parameters associated with the specific webaccessibility profile; receive additional input via the accessibilityGUI, indicative of a selection of at least one alteration to at leastone of the plurality of predefined changes; and in response to theadditional input, override at least one of the plurality of predefinedchanges to thereby enable customization of the selected webaccessibility profile.

Some disclosed embodiments may involve systems, methods, andcomputer-readable media for providing an accessibility GUI that,following a selection of an epilepsy safe profile, automatically altersa group of default display parameters. The epilepsy-safe profile may bedesigned to eliminate the risk of seizures that result from flashing orblinking animations and risky color combinations.

Some disclosed embodiments may involve systems, methods, andcomputer-readable media for providing an accessibility GUI that,following a selection of a vision impairment profile, automaticallyalters a group of default display parameters. The vision impairmentprofile may be designed for disabilities such as degrading eyesight,tunnel vision, cataract, glaucoma, and others.

Some disclosed embodiments involve systems, methods, andcomputer-readable media for providing an accessibility GUI that,following a selection of a cognitive disability profile, automaticallyafters a group of default display parameters. The cognitive displayprofile may be designed to help users with cognitive disabilities suchautism, dyslexia, CVA, and others, to focus on the essential elementsmore easily.

Some disclosed embodiments may involve systems, methods, andcomputer-readable media for providing an accessibility GUI that,following a selection of an ADHD friendly profile, automatically altersa group of default display parameters. The ADHD friendly profile may bedesigned to reduce distractions and noise. Doing so may help people withADHD and neurodevelopmental disorders browse, read, and focus onessential elements more easily.

Some embodiments include a non-transitory computer readable mediumcontaining instructions that when executed by at least one processorcause the at least one processor to perform operations for alteringdefault display parameters to conform with a neurodevelopmentaldisorder, epilepsy, visual impairment, and/or cognitive disabilityprofile. Default website display parameters may include limits,characteristics, variables, constraints, elements, or attributes thatare preselected or adopted by a computer program or other mechanism whenno alternative is specified by the user or programmer. For example, adefault website display parameter may include the size of the font thatis automatically displayed on the website. As another example, a defaultwebsite display parameter may include the size of the window that isautomatically displayed on the website. In another example, a defaultwebsite parameter may include the color theme that is automaticallyapplied to the website. FIG. 21 is an example of a website 2110presented with default website display parameters, consistent with someembodiments of the present disclosure. In the default view, website 2110is presented with no modifications to the default website displayparameters. Altering default website display parameters may includereplacing, varying, exchanging, shifting, or in any other way changingthe default website display parameters. For example, altering defaultwebsite display parameters may include replacing a color image with ablack and white image on a website display.

Conforming with a neurodevelopmental disorder profile may includechanging or modifying certain website display parameters to matchneurodevelopmental disorder-friendly website display parameters,reducing the amount or impact of certain website display parameters thatare not desirable for users with a neurodevelopmental disorder, or inany other way changing a website to make the website more similar to aneurodevelopmental disorder profile. For example, conforming with aneurodevelopmental disorder profile may include increasing contentscaling on a website to match a content scaling parameter of aneurodevelopmental disorder profile. In some embodiments, theneurodevelopmental disorder includes at least one of:attention-deficit/hyperactivity disorder (ADHD), autism, learningdisabilities, intellectual disability, conduct disorders, or cerebralpalsy. It may be desirable to implement predefined templates to conformwith the needs of users with such disorders because these types ofdisorders may make websites more difficult for these users to navigateand understand.

An epilepsy-safe profile may include any profile that may be beneficialfor or compatible with individuals that suffer from epilepsy.Individuals with photosensitive epilepsy may experience seizurestriggers by displays that flicker, flash, or blink, especially withflashing that has a high intensity and is within certain frequencyranges. This is particularly a problem with the use of animated GIFs andvideos in websites. Thus, an epilepsy-safe profile may refer to aprofile that reduces or avoids any of these aspects of websites. In oneexample, an epilepsy profile may include a profile that does not containany content that flashes more than three times in any one second period.A flash may include a sudden brief burst of an image, video, light, orcolor. In another example, an epilepsy-safe profile may include anycontent that does not flash below certain flash thresholds, or certainred flash thresholds. A flash threshold may include a maximum number,frequency, magnitude, or intensity of flashes associated with anepilepsy-safe profile. Other examples of an epilepsy-safe profileinclude a profile that includes one or more of reducing contrast for anyflashing content, avoiding fully saturated red colors for any flashingcontent, reducing the number of flashes, preventing flashing contentfrom flashing before it begins, slowing down content to avoid rapidflashes, freezing an image momentarily when the image is configured tohave a certain number of flashes in one second, reducing the contrastratio when there are a certain number of flashes in one second, andproviding a warning if certain website content is not safe forindividuals with epilepsy. Conforming with an epilepsy-safe profile mayinclude changing or modifying certain website display parameters tomatch epilepsy-safe website display parameters, reducing the amount orimpact of certain website display parameters that are not epilepsy-safe,or in any other way changing a website to make the website more similarto an epilepsy-safe profile. For example, conforming with anepilepsy-safe profile may include changing the color of a video on awebsite to match a video color parameter of an epilepsy-safe profile. Inanother example, conforming with an epilepsy-safe profile may includechanging the color of text on a website to reduce contrast.

Conforming with a visual impairment profile may include changing ormodifying certain website display parameters to match visualimpairment-friendly website display parameters, reducing the amount orimpact of certain website display parameters that are not desirable forvisually impaired users, or in any other way changing a website to makethe website more similar to a visual impairment profile. For example,conforming with a visual impairment profile may include increasing thesize of an image on a website to match an image size parameter of avisual impairment profile. In another example, conforming with a visualimpairment profile may include providing audio descriptions of a videoon the website.

Conforming with a cognitive disability profile may include changing ormodifying certain website display parameters to match cognitivedisability-friendly website display parameters, reducing the amount orimpact of certain website display parameters that are not desirable forcognitively disabled users, or in any other way changing a website tomake the website more similar to a cognitive disability profile. Forexample, conforming with a cognitive disability profile may includeincreasing content scaling on a website to match a content scalingparameter of a cognitive disability profile. In another example,conforming with a cognitive disability profile may include highlightingtitles depicted on the website.

Some embodiments include obtaining an indication that a user of awebsite has a neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability. An indication that a user of a website ishas a neurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability may include a signal, warning, notification, alarm,user input, sensor output, alert, or any other sign that a user of awebsite has a neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability. Obtaining an indication that a user of awebsite has a neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability may include receiving an indication that auser of a website has a neurodevelopmental disorder, epilepsy, visualimpairment, and/or cognitive disability from any source, including theat least one processor, an external device, input from a cookie, inputfrom the user, or input from another individual.

In some examples, obtaining an indication that a user of a has aneurodevelopmental disorder may include receiving a signal from anexternal device capable of detecting whether a user has aneurodevelopmental disorder, such as a Neuropsychiatric EEG-BasedAssessment Aid (NEBA) System In other examples, obtaining an indicationthat a user of a website has a neurodevelopmental disorder may includereceiving input from either the user or another individual that the userhas a neurodevelopmental disorder. For example, obtaining an indicationthat a user of a website has a neurodevelopmental disorder may include auser input from the user in the form of clicking a button on a websiteto indicate that the user has a neurodevelopmental disorder. As anotherexample, obtaining an indication that a user of a website has aneurodevelopmental disorder may include a signal from a NEBA devicecommunicating that the that the user has a neurodevelopmental disorder.

In some examples, obtaining an indication that a user of a website hasepilepsy may include receiving a signal from an external device capableof detecting whether a user has epilepsy, including one or more of asensor (such as an EEG sensor) or an epilepsy monitor. In otherexamples, obtaining an indication that a user of a website has epilepsymay include receiving input from either the user or another individualthat the user has epilepsy. For example, obtaining an indication that auser of a website has epilepsy may include a user input from the user inthe form of clicking a button on a website to indicate that the user hasepilepsy. As another example, obtaining an indication that a user of awebsite has epilepsy may include a signal from an epilepsy monitorcommunicating that the that the user has epilepsy.

In some examples, obtaining an indication that a user of a website isvisually impaired may include receiving a signal from an external devicecapable of detecting whether a user is visually impaired, such as aglaucoma monitor. In other examples, obtaining an indication that a userof a website is visually impaired may include receiving input fromeither the user or another individual that the user is visuallyimpaired. For example, obtaining an indication that a user of a websiteis visually impaired may include a user input from the user in the formof clicking a button on a website to indicate that the user is visuallyimpaired. As another example, obtaining an indication that a user of awebsite is visually impaired may include a signal from a glaucomamonitor communicating that the that the user is visually impaired.

In some examples, obtaining an indication that a user has a cognitivedisability may include receiving a signal from an external devicecapable of detecting whether a user has a cognitive disability, such asan EEG. In other examples, obtaining an indication that a user of awebsite has a cognitive disability may include receiving input fromeither the user or another individual that the user has a cognitivedisability. For example, obtaining an indication that a user of awebsite has a cognitive disability may include a user input from theuser in the form of clicking a button on a website to indicate that theuser has a cognitive disability. As another example, obtaining anindication that a user of a website has a cognitive disability mayinclude a signal from an EEG sensor communicating that the that the userhas a cognitive disability.

In some embodiments, the indication that the user has aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability is received via an accessibility graphical userinterface (GUI) associated with the website. It may be desirable toprovide the indication that the user has a neurodevelopmental disorder,epilepsy, visual impairment, and/or cognitive disability via anaccessibility graphical user interface (GUI) associated with the websiteso that a user can decide if and when a neurodevelopmental disorder,epilepsy, visual impairment, and/or cognitive disability profile shouldbe used. In one example, the indication that the user has aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability may be received when the user clicks on anaccessibility icon associated with a neurodevelopmental disorder,epilepsy, visual impairment, and/or cognitive disability shown, forexample, at the top, bottom, sides, or any other portion of the website.In another example, the indication that the user has aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability may be received when the user types a commandindicating that the user has a neurodevelopmental disorder, epilepsy,visual impairment, and/or cognitive disability into a window presentedon the website.

In some embodiments, the indication reflects a user selection of theneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability profile out of a plurality of web accessibilityprofiles presented in the accessibility GUI. It may be desirable toinclude the neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability profile in a plurality of web accessibilityprofiles presented in the accessibility GUI so that a user may selectone or more web accessibility profiles that align with the user'sspecific condition. In one example, the indication may include a userclicking on a neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability profile out of a plurality of webaccessibility profiles presented as a list in an accessibility GUI. Inanother example, the indication may include a user selection of morethan one web accessibility profile by the user clicking on aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability profile and one or more other web accessibilityprofiles out of a plurality of web accessibility profiles presented as alist in an accessibility GUI.

In some embodiments, the plurality of web accessibility profilesincludes at least two of: an epilepsy-safe profile, a visual impairmentprofile, a cognitive disability profile, and a neurodevelopmentaldisorder profile. It may be desirable for the plurality of webaccessibility profiles displayed in an accessibility GUI to include someof the more well-known impairments. For example, the list ofaccessibility profiles included in the accessibility GUI may include atleast two of: an epilepsy-safe profile, a visual impairment profile, acognitive disability profile, and a neurodevelopmental disorder profile.Although only four impairment profiles hare discussed above by way ofexample, it is contemplated that the list of accessibility profiles mayinclude any number of accessibility profiles. This may allow users withcommon impairments that affect their ability to view and interact with awebsite by selecting one or more profiles that best align with theuser's needs.

In one example, the plurality of web accessibility profiles includes aneurodevelopmental disorder profile and an epilepsy-safe profile. Inanother example, the plurality of web accessibility profiles includes aneurodevelopmental disorder profile, a visual impairment profile, and anepilepsy-safe profile.

In one example, the plurality of web accessibility profiles includes anepilepsy-safe profile and a visual impairment profile. In anotherexample, the plurality of web accessibility profiles includes anepilepsy-safe profile, a profile for a first type of cognitivedisability, and a profile for a second type of cognitive disability.

In one example, the plurality of web accessibility profiles includes avisual impairment profile and an epilepsy-safe profile. In anotherexample, the plurality of web accessibility profiles includes a visualimpairment profile, a profile for a first type of cognitive disability,and a profile for a second type of cognitive disability.

In one example, the plurality of web accessibility profiles includes acognitive disability profile and an epilepsy-safe profile. In anotherexample, the plurality of web accessibility profiles includes acognitive disability, a visual impairment profile, and an epilepsy-safeprofile.

For example, as shown in FIG. 21, website 2110 may be presented with aplurality of web accessibility profiles as part of an accessibility GUI.As illustrated in FIG. 21, accessibility GUI 2111 may include a seizuresafe profile 2112, a vision impaired profile 2114, a cognitive displayprofile 2116, an ADHD friendly profile 2118, a profile for blind usersincluding a screen-reader 2120, and a profile for keyboard navigationfor users with motor impairments 2122.

In FIG. 21, epilepsy-safe profile 2112 is shown to not be selected, asindicated by the OFF indicator 2124. FIG. 22 is an example of a websitepresented with website display parameters corresponding to anepilepsy-safe profile, consistent with some embodiments of the presentdisclosure. As an example, in FIG. 22, the user has selected theepilepsy-safe profile 2112, as indicated by the ON indicator 2210.

In FIG. 21, vision impaired profile 2114 is shown to not be selected, asindicated by the OFF indicator 2126. FIG. 25 is an example of a websitepresented with website display parameters corresponding to a visionimpaired profile, consistent with some embodiments of the presentdisclosure. As an example, in FIG. 25, the user has selected the visionimpaired profile 2114, as indicated by the ON indicator 2510.

In FIG. 21, cognitive display profile 2116 is shown to not be selected,as indicated by the OFF indicator 2126. FIG. 28 is an example of awebsite presented with website display parameters corresponding to acognitive display profile, consistent with some embodiments of thepresent disclosure. As an example, in FIG. 28, the user has selected thecognitive display profile 2116, as indicated by the ON indicator 2810.

In FIG. 21, ADHD Friendly profile 2118 is shown to not be selected, asindicated by the OFF indicator 2130. FIG. 31 is an example of a websitepresented with website display parameters corresponding to aneurodevelopmental disorder profile, consistent with some embodiments ofthe present disclosure. As an example, in FIG. 28, the user has selectedthe ADHD friendly profile 2118, as indicated by the ON indicator 3110.

In some embodiments, the indication that the user has aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability is determined based on data stored on the computingdevice. It may be desirable to determine whether a user has aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability based on data associated with the indication storedon the computing device. Different types of computing devices may beused with the systems, methods, and non-transitory computer readablemedia disclosed herein, such as computers, mobile phones, laptops,tablets, smart phones, smart watches, smart glasses or other computingdevices capable of accessing a website. By doing so, a new determinationof the user's neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability status may not need to be performed forevery use. The indication that the user has a neurodevelopmentaldisorder, epilepsy, visual impairment, and/or cognitive disability maybe stored in association with an identifier of the user on a computingdevice associated with the user. In one example, the indication that theuser has a neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability may be determined based on cookies stored onthe computing device. In another example, the indication that the userhas a neurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability may be determined based on browsing history storedon the computing device. In yet another example, the indication that theuser has a neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability may be determined based on a user profilestored on the computing device.

In some embodiments, the indication that the user has aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability is determined based on data stored on a remoteserver. It may be desirable to determine whether a user has aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability based on data associated with the indication storedon a remote server. Doing so may help the computing device accessinformation from remote locations, such as a hospital or a home. Doingso may also help a user to access the indication using a computingdevice different from a computing device that the user may have beenusing during a previous browsing session. A remote server may includeany type of server that provides services to remotely connected usersover a network or the Internet. In one example, the indication that theuser has a neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability is determined based on data stored on acomputer in another building that is not connected to the same localarea network as the computing device. In another example, the indicationthat the user has a neurodevelopmental disorder, epilepsy, visualimpairment, and/or cognitive disability is determined based on datastored on a cloud. A cloud may include a virtual computer server thathas resources accessible to users remotely over a network, such as theinternet.

Based on the obtained indication, some disclosed embodiments includeimplementing a predefined template to alter multiple default websitedisplay parameters to conform with needs of the user with theneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability. A predefined template may include a guide,arrangement, instruction, or any other model of one or more websitedefault display parameters. A predefined template may include a setvalue for one or more of a plurality of website display parameters, suchthat using the predefined template for different websites may result inthe same changes to the same website display parameters of the differentwebsites. As an example, a predefined template may include providing fora font size of 20 pt and pausing all moving content on a website. Inthis example, when the predefined template is applied to differentwebsites, each of the different websites may present content with a fontsize of 20 pt and all moving content on each website may be paused.Implementing a predefined template to alter multiple website defaultdisplay parameters to conform with needs of the user with theneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability may include changing or replacing two or morewebsite default display parameters so that those parameters match thewebsite display parameters of the predefined template.

For example, if a predefined template includes increasing the contentscaling by two and limiting moving images on a website, implementing thepredefined template may include increasing the content scaling by twoand limiting moving images on the website.

For example, if a predefined template includes providing for a font sizeof 20 and pausing all moving content on a website, implementing thepredefined template may include changing the font of the website to 20and pausing all moving content on the website.

For example, if a predefined template includes providing for a font sizeof 20 and doubling the size of all images on a website, implementing thepredefined template may include changing the font of the website to 20and doubling the size of all images on the website.

In some instances, implementing a predefined template to alter multiplewebsite default display parameters to conform with needs of the userwith the neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability may include changing all of the websitedefault display parameters. In other instances, implementing apredefined template to after multiple website default display parametersto conform with needs of the user with the neurodevelopmental disorder,epilepsy, visual impairment, and/or cognitive disability may includechanging only some of the website default display parameters.

In some embodiments, the predefined template is associated with ageneral profile of a neurodevelopmental disorder and values of themultiple default website display parameters are determined based on aWeb Content Accessibility Guideline.

A profile may include one or more of features, characteristics, aspects,attributes, components, and styles associated with a topic. For example,a profile may include a characterization of certain templates that areappropriate for an individual with a neurodevelopmental disorder,epilepsy, visual impairment, and/or cognitive disability. In anotherexample, a profile may include templates that are appropriate for usewith a mobile device. A general profile of an individual with aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability may include a profile that affects or concerns allor most individuals with the neurodevelopmental disorder, epilepsy,visual impairment, and/or cognitive disability. As such, a generalprofile of an individual with a neurodevelopmental disorder, epilepsy,visual impairment, and/or cognitive disability may include websitedisplay parameters that may benefit all or most individuals with theneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability. It may be desirable for the predefined template tobe associated with a general profile of an individual with aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability to reduce processing load and improve efficiency bynot requiring a separate profile for each individual with aneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability who accesses the website.

When using a general profile of an individual with a neurodevelopmentaldisorder, values of the multiple default website display parameters maybe determined based on Web Content Accessibility Guidelines (WCAG), suchas WCAG 2.1. For example, the predefined template may be associated witha general profile of an individual with a neurodevelopmental disorder todouble the spacing between sentences in text on the website.

In some embodiments, the predefined template is associated with ageneral profile of an epileptic individual. As an example, thepredefined template may be associated with a general profile of anepileptic individual to pause all animations including flashing images.

In some embodiments, the predefined template is associated with ageneral visually impaired individual profile. When using a generalvisually impaired individual profile, values of the multiple defaultwebsite display parameters may be determined based on Web ContentAccessibility Guidelines (WCAG), such as WCAG 12.1. For example, thepredefined template may be associated with a general visually impairedindividual profile to resize text to 200 percent.

In some embodiments, the predefined template is associated with ageneral profile of an individual with cognitive disability. When using ageneral profile of an individual with cognitive disability, values ofthe multiple default website display parameters may be determined basedon Web Content Accessibility Guidelines (WCAG), such as WCAG 2.1. Forexample, the predefined template may be associated with a generalprofile of an individual with cognitive disability to double the spacingbetween sentences in text on the website.

In some embodiments, the predefined template is associated with acustomized profile of the user with the neurodevelopmental disorder,epilepsy, visual impairment, and/or cognitive disability and values ofthe multiple default website display parameters are determined based onprevious user interactions with an accessibility graphical userinterface (GUI). A customized profile may include a profile that isspecific to an individual user with a neurodevelopmental disorder,epilepsy, visual impairment, and/or cognitive disability. It may bedesirable for the predefined template to be associated with a customizedprofile of the user with the neurodevelopmental disorder, epilepsy,visual impairment, and/or cognitive disability so that a user ispresented with a display that is personalized to that user's needs, asopposed to users in a general population with the neurodevelopmentaldisorder, epilepsy, visual impairment, and/or cognitive disability.

For instance, a customized profile may be desirable in situations whereone user with a neurodevelopmental disorder requires more spacingbetween letters than the general population with a neurodevelopmentaldisorder. As an example, the predefined template may be associated witha customized profile of a user with a neurodevelopmental disorder, whorequires a letter spacing that is double the size of the font in orderto read and comprehend the text. In this example, values of defaultwebsite display parameters such as a letter spacing parameter aredetermined based on the user's previous interactions with theaccessibility GUI. In an example customized profile, values of themultiple default website display parameters may be determined based onprevious user interactions with an accessibility GUI, such as values ofwebsite display parameter modifications that were previously requestedby the user. These previous user interactions may include any aspect ofthe interactions, such as duration, frequency, or type of interaction.For example, the processor may determine that the user has adjustedletter spacing to be double the size of the font for every previoussession. Based on this determination, the letter spacing parameterassociated with the customized profile of the user with aneurodevelopmental disorder may be configured to set the letter spacingto be double the size of the font.

In other instances, a customized profile may be desirable in situationswhere one epileptic user is more sensitive to certain types orfrequencies of flashing than the general epileptic population. As anexample, the predefined template may be associated with a customizedprofile of the epileptic user that is only susceptible to seizures whenfaced with more than six flashing red images in a second. In thisexample, values of default website display parameters such as initiatinga stop command when a video contains more than six flashing red imagesin a second and greying out red-colored content are determined based onthe user's previous user with the accessibility GUI. A stop command mayinclude any instruction in the website code that instructs a movie oranimation on the website to pause or stop on a particular frame, ratherthan continuing to the end of the movie or animation or cyclingendlessly, as described herein. In an example customized profile, valuesof the multiple default website display parameters may be determinedbased on previous user interactions with an accessibility GUI, such asvalues of website display parameter modifications that were previouslyrequested by the user. These previous user interactions may include anyaspect of the interactions, such as duration, frequency, or type ofinteraction. For example, the processor may determine that the user hasadjusted the font size to a specific value, such as 20 pt, for everyprevious session. Based on this determination, the font associated withthe customized profile of the epileptic user may be set at 20 pt.

In other instances, a customized profile may be desirable in situationswhere one visually impaired user requires a larger text size than thegeneral visually impaired population. As an example, the predefinedtemplate may be associated with a customized profile of a visuallyimpaired user, who requires text to be resized to 300 percent to readthe text. In this example, values of default website display parameterssuch as text resizing percentage are determined based on the user'sprevious interactions with the accessibility GUI. In an examplecustomized profile, values of the multiple default website displayparameters may be determined based on previous user interactions with anaccessibility GUI, such as values of website display parametermodifications that were previously requested by the user. These previoususer interactions may include any aspect of the interactions, such asduration, frequency, or type of interaction. For example, the processormay determine that the user has adjusted the font to be resized to aspecific percentage, such as 350 percent, for every previous session.Based on this determination, the font associated with the customizedprofile of the visually impaired user may be resized to 350 percent.

In other instances, a customized profile may be desirable in situationswhere one cognitively disabled user requires more highlighting of titlesthan the general cognitively disabled population. As an example, thepredefined template may be associated with a customized profile of acognitively disabled user, who requires both titles and subtitles to behighlighted in order to read and comprehend the text. In this example,values of default website display parameters such as text highlightingare determined based on the user's previous interactions with theaccessibility GUI. In an example customized profile, values of themultiple default website display parameters may be determined based onprevious user interactions with an accessibility GUI, such as values ofwebsite display parameter modifications that were previously requestedby the user. These previous user interactions may include any aspect ofthe interactions, such as duration, frequency, or type of interaction.For example, the processor may determine that the user has adjusted bothtitles and subtitles to be bolded for every previous session. Based onthis determination, the highlighting associated with the customizedprofile of the cognitively disabled user may be configured to bold bothtitles and subtitles.

Implementing the predefined template may include adjusting a contentscaling parameter in website code on a user session basis to increasecontent scaling; executing a stop animation command in the website codeon a user session basis to limit movement on a display; and at least oneof: adjusting a saturation parameter in the website code on a usersession basis to increase display intensity; adjusting a font typeparameter in the website code on a user session basis to cause areadability increase; adjusting a font size parameter in the websitecode on a user session basis to modify font scaling; adjusting a lineheight parameter in the website code on a user session basis to increasespaces between text lines; adjusting a letter spacing parameter in thewebsite code on a user session basis to modify spaces between letterstext; and adjusting text color parameter in the website code on a usersession basis to modify a contrast between text and background.

Adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling may be desirable to improve contentvisibility, since individuals with a neurodevelopmental disorder mayrequire larger scaling to perceive and understand content. A contentscaling parameter may include a number, percent, decimal, ratio, or anyother manner of making graduated changes to the presentation of anycontent, such as text, images, or videos, on the website. For example,adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling may include doubling the size of allimages on the website. As another example, as illustrated in FIG. 31,implementing the predefined template may include changing a contentscaling parameter 3112 from normal to high.

Executing a stop animation command in website code on a user sessionbasis to limit movement on a display may include executing anyinstruction in the website code that instructs a movie or animation onthe website to pause or stop on a particular frame, rather thancontinuing to the end of the movie or animation or cycling endlessly. Astop animation command may be targeted towards a specific type ofanimation or may be used to stop all types of animation on a website.For example, a stop animation command may instruct a website to stop allanimation on a website. As another example, a stop animation command mayinstruct a website to stop only animation with flashes on a website.Limiting movement on a display may include stopping, pausing, slowingdown, or in any other way restricting motion on a display. Forindividuals with a neurodevelopmental disorder, moving images such asdecorative animations impair recall and are a source of extraneouscognitive load. It can be more difficult for users to read, comprehend,or remember the information they've read, if the content featuresanimations that increase their cognitive load. Thus, it may be desirableto reduce cognitive load by limiting movement on a display. For example,limiting movement on a display may include pausing a GIF. As anotherexample, limiting movement on a display may include slowing down a GIFto reduce cognitive load. As another example, as illustrated in FIG. 31,implementing the predefined template may include changing a stopanimation command parameter 3114 from ON to OFF

Adjusting a saturation parameter in the website code on a user sessionbasis to increase display intensity may be desirable to make certaincontent stand out from other content for a user with aneurodevelopmental disorder who may not be able to distinguish betweenall of the content. A saturation parameter may include any measure ofthe intensity of color in an image. 100% saturation may mean there is noaddition of gray to the color. In this case, the color may be completelypure. At the other extreme, a color with 0% saturation may appear as amedium gray. The more saturated (closer to 100%) a color is, the morevivid or brighter it may appear. Desaturated colors, on the other hand,may appear duller. For example, adjusting a saturation parameter in thewebsite code on a user session basis to increase display intensity mayinclude changing the saturation of an image from 50% to 70% to make theimage look more vivid. As another example, as illustrated in FIG. 31,implementing the predefined template includes changing a saturationparameter 3116 from normal to high.

Adjusting a font type parameter in the website code on a user sessionbasis to cause a readability increase may be desirable to allow a userwith a neurodevelopmental disorder to better read text. A font typeparameter may include any attribute of a set of printed letters,numbers, or other symbols of the same style. For example, adjusting afont type parameter in the website code on a user session basis to causea readability increase may include changing text from Edwardian Scriptstyle to Arial style, to make the text easier to read.

Adjusting a font size parameter in the website code on a user sessionbasis to increase font scaling may be desirable to allow a user with aneurodevelopmental disorder to better read text on the website. A fontsize parameter may include a height, width, length, thickness, or anyother measure of the dimensions of the text. For example, adjusting afont size parameter in the website code on a user session basis toincrease font scaling may include increasing the font size from 8 pt to12 pt.

Adjusting a line height parameter in the website code on a user sessionbasis to increase spaces between text lines may be desirable to make thetext easier to read for a user with a neurodevelopmental disorder. Aline height parameter may include any measure of a distance between twoor more lines of text, such as a number, length, or percentage. In someinstances, the line height parameter may be the same for all font sizes.In other instances, the line height parameter may be relative to thefont size. For example, adjusting a line height parameter in the websitecode on a user session basis to increase spaces between text lines mayinclude increasing the line height from 150% of the font size to 200% ofthe font size.

Adjusting a letter spacing parameter in the website code on a usersession basis to increase spaces between letters may be desirable tomake the text easier to read for a user with a neurodevelopmentaldisorder. A letter spacing parameter may include any measure of adistance between two or letters, such as a number, length, orpercentage. In some instances, the letter spacing parameter may be thesame for all font sizes. In other instances, the letter spacingparameter may be relative to the font size. For example, adjusting aletter spacing parameter in the website code on a user session basis toincrease spaces between letters may include increasing the letterspacing from 150% of the font size to 200% of the font size.

Adjusting a text color parameter in the website code on a user sessionbasis to increase a contrast between text and background may bedesirable make the text easier to read for a user with aneurodevelopmental disorder who may not be able to distinguish certaintext from the background. A text color parameter may include any measureof the light reflected by an object, such as hue, saturation, andbrightness. For example, adjusting a text color parameter in the websitecode on a user session basis to increase a contrast between text andbackground may include changing grey text against a black background towhite text.

Website code may include any code that is used to structure a web pageor its content, such as HTML, Java, JavaScript, or CSS. A user sessionbasis may refer to a specific user session. Limiting website operationson a user session basis may be desirable to prevent uniform alterationof default website display parameters for all users, whether or not auser has a neurodevelopmental disorder, epilepsy, visual impairment,and/or cognitive disability. Thus, a user who has a neurodevelopmentaldisorder, epilepsy, visual impairment, and/or cognitive disability mayview and interact with a website using a neurodevelopmental disorder,epilepsy, visual impairment, and/or cognitive disability profile, whilea user that does not have a neurodevelopmental disorder, epilepsy,visual impairment, and/or cognitive disability may view and interactwith that same website in a different user session without adjustmentsfor a neurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability. Limiting website operations on a user sessionbasis may also be desirable to allow the same user to choose differentdisability profiles, or even no disability profile, for differentsessions. For example, adjusting a website display parameter in websitecode on a user session basis may include executing that website codecommand only when a user who has a neurodevelopmental disorder,epilepsy, visual impairment, and/or cognitive disability is using thewebsite. In this example, the website code execution is stopped oncethat user stops using the website and another user starts using thewebsite.

Implementing the predefined template may include adjusting a contentscaling parameter in website code on a user session basis to increasecontent scaling; executing a stop animation command in the website codeon a user session basis to limit movement on a display; and at least oneof the other adjustments described herein. For example, implementing thepredefined template may include doubling the size of all images on thewebsite, pausing a GIF, and changing the saturation of an image from 50%to 70%. In another example, implementing the predefined template mayinclude doubling the size of all images on the website, pausing a GIF,changing the saturation of an image from 50% to 70%, and changing greytext against a black background to white text.

Implementing the predefined template may include executing a stopanimation command in website code on a user session basis to limitmovement on a display. A stop animation command in website code mayinclude any instruction in the website code that instructs a movie oranimation on the website to pause or stop on a particular frame, ratherthan continuing to the end of the movie or animation or cyclingendlessly. A stop animation command may be targeted towards a specifictype of animation or may be used to stop all types of animation on awebsite. For example, a stop animation command may instruct a website tostop all animation on a website. As another example, a stop animationcommand may instruct a website to stop only animation with flashes on awebsite. For example, executing a stop animation command in website codeon a user session basis may include executing that command only when auser who has epilepsy is using the website, and stopping the executiononce that user stops using the website and another user starts using thewebsite. Limiting movement on a display may include stopping, pausing,slowing down, or in any other way restricting motion on a display. Forindividuals with epilepsy, flashing lights or images may triggerseizures. Thus, it may be desirable to reduce or eliminate such flashingby limiting movement on a display. For example, limiting movement on adisplay may include pausing a video containing flashing images. Asanother example, limiting movement on a display may include slowing downa video containing flashing images to reduce the frequency of flashing.For example, as illustrated in FIG. 22, implementing the predefinedtemplate includes changing a stop activation command 2212 from ON toOFF.

In some embodiments, limiting the movement on the display includespreventing blinking animation. Blinking animation may involve a movie,GIF, or any other moving image that includes an image being flashed morethan once. It may be desirable to prevent blinking animation to preventseizures, since individuals with photosensitive epilepsy may experienceseizures triggered by displays that flicker, flash, blink, or presentany other sudden brief burst of an image, video, light, or color. Forexample, limiting the movement on the display may include preventing aGIF from playing if that GIF contains a blinking animation, such asflashing lights.

In some embodiments, limiting the movement on the display includesaltering animations on the website such that the altered animations havea frame speed of no greater than three frames per second. Frame speedmay include the frequency or rate at which consecutive images or framesare displayed. It may be desirable to limit an amount of movement on thedisplay by decreasing the frame speed to no greater than three framesper second to prevent seizures, since a greater frame speed may triggera seizure in individuals with epilepsy, particularly photosensitiveepilepsy. For example, limiting the movement on the display may includealtering animations on the website such that the altered animations havea frame speed of two frames per second.

Implementing the predefined template may include adjusting a value of atleast one web display parameter. Adjusting a value of at least one webdisplay parameter may include increasing, decreasing, changing,replacing, or in any other way modifying a value of the at least one webdisplay parameter. Implementing the predefined template by adjusting avalue of at least one web display parameter may be desirable to effectchange in the website at a more granular level, rather than making largechanges across an entire website. For example, adjusting a value of atleast one web display parameter may include changing the display ofred-colored content to black or white. For example, as illustrated inFIG. 22, adjusting a value of at least one web display parameterincludes changing a saturation parameter 2214 from normal to low.

Implementing the predefined template may include at least two of:adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling; adjusting a font type parameter inthe website code on a user session basis to cause a readabilityincrease; adjusting a saturation parameter in the website code on a usersession basis to increase display intensity; adjusting a font sizeparameter in the website code on a user session basis to increase fontscaling; adjusting a line height parameter in the website code on a usersession basis to increase spaces between text lines; adjusting a letterspacing parameter in the website code on a user session basis toincrease spaces between letters text; and adjusting a text colorparameter in the website code on a user session basis to increase acontrast between text and background.

Adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling may be desirable to improve contentvisibility, since visually impaired individuals may require largerscaling to see content clearly. A content scaling parameter may includea number, percent, decimal, ratio, or any other manner of makinggraduated changes to the presentation of any content, such as text,images, or videos, on the website. For example, adjusting a contentscaling parameter in website code on a user session basis to increasecontent scaling may include doubling the size of all images on thewebsite. As another example, as illustrated in FIG. 25, implementing thepredefined template includes changing a content scaling parameter 2512from normal to high.

Adjusting a font type parameter in the website code on a user sessionbasis to cause a readability increase may be desirable to allow avisually impaired user to better read text. A font type parameter mayinclude any attribute of a set of printed letters, numbers, or othersymbols of the same style. For example, adjusting a font type parameterin the website code on a user session basis to cause a readabilityincrease may include changing text from Edwardian Script style to Arialstyle, to make the text easier to read. As another example, asillustrated in FIG. 25, implementing the predefined template includeschanging a font type parameter 2514 from normal to high.

Adjusting a saturation parameter in the website code on a user sessionbasis to increase display intensity may be desirable to make certaincontent stand out from other content for a visually impaired user whomay not be able to distinguish between all of the content. A saturationparameter may include any measure of the intensity of color in an image.100% saturation may mean there is no addition of gray to the color. Inthis case, the color may be completely pure. At the other extreme, acolor with 0% saturation may appear as a medium gray. The more saturated(closer to 100%) a color is, the more vivid or brighter it may appear.Desaturated colors, on the other hand, may appear duller. For example,adjusting a saturation parameter in the website code on a user sessionbasis to increase display intensity may include changing the saturationof an image from 50% to 70% to make the image look more vivid. Asanother example, as illustrated in FIG. 25, implementing the predefinedtemplate includes changing a saturation parameter 2516 from normal tohigh.

Adjusting a font size parameter in the website code on a user sessionbasis to increase font scaling may be desirable to allow visuallyimpaired user to better read text on the website. A font size parametermay include a height, width, length, thickness, or any other measure ofthe dimensions of the text. For example, adjusting a font type parameterin the website code on a user session basis to increase font scaling mayinclude increasing the font size from 8 pt to 12 pt.

Adjusting a line height parameter in the website code on a user sessionbasis to increase spaces between text lines may be desirable to make thetext easier to read for visually impaired users. A line height parametermay include any measure of a distance between two or more lines of text,such as a number, length, or percentage. In some instances, the lineheight parameter may be the same for all font sizes. In other instances,the line height parameter may be relative to the font size. For example,adjusting a line height parameter in the website code on a user sessionbasis to increase spaces between text lines may include increasing theline height from 150% of the font size to 200% of the font size.

Adjusting a letter spacing parameter in the website code on a usersession basis to increase spaces between letters may be desirable tomake the text easier to read for visually impaired users. A letterspacing parameter may include any measure of a distance between two orletters, such as a number, length, or percentage. In some instances, theletter spacing parameter may be the same for all font sizes. In otherinstances, the letter spacing parameter may be relative to the fontsize. For example, adjusting a letter spacing parameter in the websitecode on a user session basis to increase spaces between letters mayinclude increasing the letter spacing from 150% of the font size to 200%of the font size.

Adjusting a text color parameter in the website code on a user sessionbasis to increase a contrast between text and background may bedesirable make the text easier o read for visually impaired users whomay not be able to distinguish certain text from the background. A textcolor parameter may include any measure of the light reflected by anobject, such as hue, saturation, and brightness. For example, adjustinga text color parameter in the website code on a user session basis toincrease a contrast between text and background may include changinggrey text against a black background to white text.

Implementing the predefined template may include at least two of theadjustments disclosed herein. For example, implementing the predefinedtemplate may include changing text from Edwardian Script style to Arialstyle and increasing the font size from 8 pt to 12 pt, to make the texteasier to read. In another example, implementing the predefined templatemay include increasing the line height from 150% of the font size to200% of the font size and changing grey text against a black backgroundto white text. In yet another example, implementing the predefinedtemplate may include increasing the letter spacing from 150% of the fontsize to 200% of the font size and changing the saturation of an imagefrom 50% to 70% to make the image look more vivid.

In some embodiments, implementing the predefined template associatedwith the visual impairment profile includes executing at least three of:adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling; adjusting a font type parameter inthe website code on a user session basis to cause a readabilityincrease; adjusting a saturation parameter in the website code on a usersession basis to increase display intensity; adjusting a font sizeparameter in the website code on a user session basis to increase fontscaling; adjusting a line height parameter in the website code on a usersession basis to increase spaces between text lines; adjusting a letterspacing parameter in the website code on a user session basis toincrease spaces between letters text; and adjusting a text colorparameter in the website code on a user session basis to increase acontrast between text and background. For example, implementing thepredefined template may include changing text from Edwardian Scriptstyle to Arial style, increasing the font size from 8 pt to 12 pt, tomake the text easier to read, and changing grey text against a blackbackground to white text.

In some embodiments, implementing the predefined template associatedwith the visual impairment profile includes executing at least four of:adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling; adjusting a font type parameter inthe website code on a user session basis to cause a readabilityincrease; adjusting a saturation parameter in the website code on a usersession basis to increase display intensity; adjusting a font sizeparameter in the website code on a user session basis to increase fontscaling; adjusting a line height parameter in the website code on a usersession basis to increase spaces between text lines; adjusting a letterspacing parameter in the website code on a user session basis toincrease spaces between letters text; and adjusting a text colorparameter in the website code on a user session basis to increase acontrast between text and background. For example, implementing thepredefined template may include increasing the letter spacing from 150%of the font size to 200% of the font size, changing the saturation of animage from 50% to 70% to make the image look more vivid, increasing thefont size from 8 pt to 12 pt, to make the text easier to read, andchanging grey text against a black background to white text.

In some embodiments, implementing the predefined template associatedwith the visual impairment profile further includes executing at leastone of: adjusting a content scaling parameter in website code on a usersession basis to increase content scaling; adjusting a font typeparameter in the website code on a user session basis to cause areadability increase; adjusting a saturation parameter in the websitecode on a user session basis to increase display intensity; andadjusting a font size parameter in the website code on a user sessionbasis to increase font scaling; and executing at least one of: adjustinga line height parameter in the website code on a user session basis toincrease spaces between text lines; adjusting a letter spacing parameterin the website code on a user session basis to increase spaces betweenletters text; and adjusting a text color parameter in the website codeon a user session basis to increase a contrast between text andbackground. For example, implementing the predefined template mayinclude doubling the size of all images on the website and increasingthe line height from 150% of the font size to 200% of the font size.

In some embodiments, implementing the predefined template associatedwith the visual impairment profile further includes executing at leasttwo of: adjusting a content scaling parameter in website code on a usersession basis to increase content scaling; adjusting a font typeparameter in the website code on a user session basis to cause areadability increase; adjusting a saturation parameter in the websitecode on a user session basis to increase display intensity; andadjusting a font size parameter in the website code on a user sessionbasis to increase font scaling; and executing at least one of: adjustinga line height parameter in the website code on a user session basis toincrease spaces between text lines; adjusting a letter spacing parameterin the website code on a user session basis to increase spaces betweenletters text; and adjusting a text color parameter in the website codeon a user session basis to increase a contrast between text andbackground. For example, implementing the predefined template mayinclude doubling the size of all images on the website, increasing thefont size from 8 pt to 12 pt, and increasing the line height from 150%of the font size to 200% of the font size.

Implementing the predefined template may include at least two of:executing a highlighting titles command in website code on a usersession basis to highlight titles depicted on the website; executing ahighlighting actionable objects command in website code on a usersession basis to highlight actionable objects depicted on the website;adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling; and executing a stop animationcommand in website code on a user session basis to limit movement on adisplay.

Executing a highlighting titles command in website code on a usersession basis to highlight titles depicted on the website may bedesirable to emphasize the context of long passages of text, which maybe difficult for an individual with a cognitive disability tocomprehend. A highlighting titles command may include any instruction inthe website code that instructs the processor to accent, embolden,accentuate, feature, call attention to, spotlight, or in any other wayemphasize a title in the website. Non-limiting examples of highlightingtitles may include underlining, coloring, resizing, bolding, anditalicizing titles. A title may include any descriptive name, phrase, orsentence, such as a banner, caption, subtitle, heading, subheading, orheadline. For example, executing a highlighting titles command mayinclude changing the font of titles to bold. In another example,executing a highlighting titles command may include increasing the size(e.g., doubling) of titles. As another example, as illustrated in FIG.28, implementing the predefined template includes changing a highlighttitles command 2812 from ON to OFF.

Executing a highlighting actionable objects command in website code on auser session basis to highlight actionable objects depicted on thewebsite may be desirable to make the actionable objects more accessiblefor users with cognitive disabilities. An actionable object may includeone or more of an activatable button, hyperlink, a picklist, a field tobe filled-out, links, menus, dropdowns, combination boxes, URLs, or anyother website element seeking a user's input or interaction. Forexample, users with cognitive disabilities may have difficultyidentifying actionable objects and/or may struggle with cognitivefatigue when completing complex, multi-stage processes such as fillingout forms, entering data correctly or finding the content or featurethat they need. Such users may need support to minimize errors andcomplete their task through the use of highlighted actionable objects.In some instances, users with cognitive disabilities may need clearliteral language and may not understand metaphors or non-literal textand new icons. For such users, highlighting actionable objects may helpthem understand which objects are actionable and which are not when thedistinction is not readily obvious. A highlighting actionable objectscommand may include any instruction in the website code that instructsthe processor to accent, accentuate, feature, call attention to,spotlight, or in any other way emphasize an actionable object in thewebsite. Non-limiting examples of highlighting actionable objects mayinclude underlining, coloring, resizing, bolding, and italicizingactionable objects. In a first instance, if actionable items are notalready identified or recognized, code running on a processor may scanthe website or a page thereof to find the actionable items. For example,actionable items usually contain telltale signs such as embedded linksor input fields, Code running on a processor may find such telltalessigns to identify the actionable items. In some instances, theactionable items may be preidentified. Thus, in some instances,executing an actionable items command may include identifying theactionable items, and in other instances, identification may not be partof the execution. For example, executing a highlighting actionableobjects command may include emphasizing buttons, such as by changing thecoloring of all buttons in the website to a noticeable color such asred. In another example, executing a highlighting actionable objectscommand may include underlining, bolding and/or increasing font size(e.g., doubling the size) of links on the website. As another example,as illustrated in FIG. 28, implementing the predefined template mayinclude changing a highlight actionable objects command 2814 from ON toOFF.

In some embodiments, highlighting titles or actionable objects includesapplying at least one of: framing, changing colors, adding shading,adding a pattern, changing font size, changing style, adding outlines,or adding an icon. Framing may include incorporating a border,enclosure, outline, shell, box, line, or any other structure to surroundor enclose a title or actionable object. For example, highlighting atitle may include placing a dark border around the title. As anotherexample, highlighting an actionable object may include placing a boxaround a button. Changing colors may include any modification of anintensity, glow, saturation, tint, or any other attribute of a hue of atitle or actionable object. For example, highlighting a title mayinclude changing the color of a title to red. As another example,highlighting an actionable object may include changing the color of abutton to green. Adding shading may include modifying the color orintensity of a color of a title or actionable item. For example,highlighting a title may include increasing the intensity of red hues ina mildly red title. As another example, highlighting an actionableobject may include increasing the intensity of green hues in a mildlygreen button. Adding a pattern may include incorporating any repeateddesign into a title or actionable object, such as a dotted pattern or astriped pattern. For example, highlighting a title may include providinga dotted pattern within the text of the title. As another example,highlighting an actionable object may include providing a stripedpattern within a button. Changing font size may include increasing ordecreasing any dimension of the text of a title or actionable object.For example, highlighting a title may include doubling font size. Asanother example, highlighting an actionable object may include triplingthe font of the text within a button. Changing style may includemodifying any distinctive visual attribute of the title or actionableattribute, such as bolding, italicizing, or underlining. For example,highlighting a title may include bolding the title. As another example,highlighting an actionable object may include italicizing the textwithin a button. Adding outlines may include incorporating a line or setof lines enclosing or indicating the shape of a title or actionableobject. For example, highlighting a title may include adding a linearound the shape of the title. As another example, highlighting anactionable object may include adding a dotted line around a button.Adding an icon may include incorporating a picture, image, symbol, sign,or any other representation associated with a title or actionableobject. For example, highlighting a title may include adding a star nextto a title. As another example, highlighting an actionable object mayinclude adding a check mark inside a button.

Adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling may be desirable to improve contentvisibility, since cognitively disabled individuals may require largerscaling to perceiving and understand content. A content scalingparameter may include a number, percent, decimal, ratio, or any othermanner of making graduated changes to the presentation of any content,such as text, images, or videos, on the website. For example, adjustinga content scaling parameter in website code on a user session basis toincrease content scaling may include doubling the size of all images onthe website.

Executing a stop animation command in website code on a user sessionbasis to limit movement on a display may include executing anyinstruction in the website code that instructs a movie or animation onthe website to pause or stop on a particular frame, rather thancontinuing to the end of the movie or animation or cycling endlessly. Astop animation command may be targeted towards a specific type ofanimation or may be used to stop all types of animation on a website.For example, a stop animation command may instruct a website to stop allanimation on a website. By way of non-limiting examples, animation typesthat may be subject to a stop animation command may include videos, userinterface animations, animated icons, animated titles, infographics,presentations, broadcast graphics, and/or GIFs. As another example, astop animation command may instruct a website to stop only animationwith flashes on a website. Limiting movement on a display may includestopping, pausing, slowing down, or in any other way restricting motionon a display. For individuals with a cognitive disability, moving imagessuch as decorative animations impair recall and are a source ofextraneous cognitive load. It can be more difficult for users to read,comprehend, or remember the information they've read, if the contentfeatures animations that increase their cognitive load. Thus, it may bedesirable to reduce cognitive load by limiting movement on a display. Ina first instance, if animations are not already identified orrecognized, code running on a processor may scan the website or a pagethereof to find the animations. For example, actionable items usuallycontain telltale signs such as successive frame changes, successivechanges in display intensity, movement of text or graphical elements, orinstructions for accomplishing any of the forgoing. Code running on aprocessor may find such telltales signs to identify the animations. Insome instances, the animations may be preidentified. Thus, in someinstances, executing a stop animation command may include identifyingthe animations, and in other instances, identification may not be partof the execution. A stop animation command may completely stop, pause,or slow a successive display of frames. For example, limiting movementon a display may include pausing a GIF. As another example, limitingmovement on a display may include slowing down a GIF to reduce cognitiveload.

Implementing the predefined template may include at least two of theadjustments disclosed herein. For example, implementing the predefinedtemplate may include changing the font of titles to bold and pausing aGIF. In another example, implementing the predefined template mayinclude changing the coloring of all buttons in the website to red anddoubling the size of all images on the website. In yet another example,implementing the predefined template may include underlining anddoubling the size of all links on the website, and slowing down a GIF.

In some embodiments, implementing the predefined template may beconfigured to impact presentation of content on a computing device ofthe user with the neurodevelopmental disorder without impactingpresentation of content on other computing devices of other simultaneoususers of the website.

Executing the stop animation command and adjusting the value of the atleast one web display parameter may be configured to impact presentationof content on a computing device of the user with the epilepticdisability without impacting presentation of content on other computingdevices of other simultaneous viewers of the website.

In some embodiments, implementing the predefined template is configuredto impact presentation of content on a computing device of the visuallyimpaired user without impacting presentation of content on othercomputing devices of other simultaneous users of the website.

There may be more than one user accessing the same website. For example,there may be two users, only one of whom has a neurodevelopmentaldisorder, epilepsy, visual impairment, and/or cognitive disability. Eachmay be accessing the website via their respective computing devices. Insuch situations, the website may be presented to the user with theneurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability by modifying the display parameters associated withthe website on the computing device of that user. However, theparameters on the computing device of the other user may not be altered.Thus, the presentation of the website to the second user, who does nothave a neurodevelopmental disorder, epilepsy, visual impairment, and/orcognitive disability may not be impacted.

For example, implementing the predefined template may include doublingthe size of all images on the website, pausing a GIF, and changing thesaturation of an image from 50% to 70% on the computing device of theuser with the neurodevelopmental disorder. In this example, the imagesand GIFs on the other computing devices of other simultaneous viewers ofthe website may be presented without a change in scaling, saturation, orpausing.

In another example, a video containing flashing images may be paused andred-colored content may be changed to black or white on the computingdevice of the user with the epileptic disability. In this example, thevideo containing flashing images and the red-colored content on theother computing devices of other simultaneous viewers of the website maybe maintained.

In another example, text size and image size may be doubled on thecomputing device of the user with the visual impairment. In thisexample, the text and images on the other computing devices of othersimultaneous viewers of the website may be presented without doubling insize.

In another example, implementing the predefined template may includechanging the coloring of all buttons in the website to red and doublingthe size of all images on the computing device of the user with thecognitive disability. In this example, the buttons and images on theother computing devices of other simultaneous viewers of the website maybe presented without changing their color or size.

Some embodiments include selecting the predefined template out of aplurality of predefined templates based on a type of computing deviceused by the user with the neurodevelopmental disorder, epilepsy, visualimpairment, and/or cognitive disability. Different types of computingdevices may be used with the systems, methods, and non-transitorycomputer readable media disclosed herein. Such computing devices mayinclude, for example, computers, mobile phones, tablets, laptops, smartwatches, smart glasses, or other types of devices capable of accessingwebsites or other content. It may be desirable to provide differenttypes of presentations on the different devices because computingdevices vary in size, computing power, audio and visual capabilities,and/or availability of certain types of software.

For example, a plurality of predefined templates may include a firstpredefined template with a low content scaling parameter and a secondpredefined template with a high content scaling parameter. The type ofthe computing device used by the user with the neurodevelopmentaldisorder may be determined by the processor or based on an input by theuser. In some instances, the processor may determine that a computer isbeing used based on receiving an indication from the computer regardingits device specifications. In other instances, the processor maydetermine that a mobile phone is being used based on the selection of abutton by the user. In one example, the content may be scaled by afactor of four when displayed on desktop computers and the content maybe scaled by a factor of two when displayed on mobile devices, such assmartphones.

In another example, the first title on the website may have a font sizeof 14 pt when displayed on desktop computers and font size of 8 pt whendisplayed on mobile devices, such as smartphones. In another example, anentire article may be displayed on desktop computers, while only aportion of the article may be displayed on mobile devices, such assmartphones.

In another example, the title may be bolded when displayed on desktopcomputers and italicized when displayed on mobile devices, such assmartphones.

In some embodiments, implementing the predefined template furtherincludes introducing a window movable on a display of the websitetogether with the adjustment of the content scaling parameter, theexecution of the stop animation command, and the adjustment of thesaturation parameter. A window may include a box, rectangle, square,circle, or any other enclosed, bounded, defined or specified shape orarea presented on the display. A movable window may include a windowthat is movable along any of its dimensions, including on either thehorizontal or vertical axis. In some instances, the movable window mayalso be moved along one or more of its edges, sides, points, or corners.Using a movable window may be desirable to focus the attention of a userwith a neurodevelopmental disorder, since such individuals may find itdifficult to focus on a specific part of the website. As an example, asillustrated in FIG. 31, implementing the predefined template includesintroducing a window 3120 that is movable on the display of the website.The window may be moved based on one or more inputs, including inputsfrom devices such as a mouse or keyboard. For example, the movablewindow may move in conjunction with scrolling the screen using a mouse.As another example, the movable window may move in conjunction with themovement of the mouse without clicking. In another example, the movablewindow may move in conjunction with the movement of the mouse when themouse is clicked and dragged. In yet another example, the movable windowmay move in conjunction with the user pressing any of the up, down,right, or left arrows on a keyboard.

In some embodiments, a presentation relation between information outsidethe window and information inside the window is set to focus userattention on information within the window. A presentation relation mayinclude a ratio, parameter, percent, or any other relationship betweeninformation outside the window and information inside the window. Forexample, a presentation relation may include decreasing the opacity ofinformation outside the window in relation to the opacity of informationinside the window. As another example, a presentation relation mayinclude increasing a font size of information inside the window inrelation to the font of the information outside the window (e.g.,doubling the font size inside as compared to outside). It may bedesirable to use a presentation relation to focus user attention tostandardize the way that information is highlighted within the window asopposed to outside the window throughout the website. Returning to theexample above, a presentation relation may include decreasing theopacity of information outside the window in relation to the opacity ofinformation inside the window by a factor of two. In this example, thepresentation relation may decrease the opacity by a factor of tworegardless of where the window is moved on the display of the website.This may limit confusion for a user with a neurodevelopmental disorderby restricting an amount that the display changes when the window ismoved to another position on the display of the website.

In some embodiments, the window follows eye movement of the user. Eyemovement of the user may include saccades, smooth pursuit movements,vergence movements, vestibule-ocular movements, or any other motion ofone or both of the user's eyes. Eye movement may be determined usinghead-stabilized eye tracking, remote eye tracking, mobile eye tracking,integrated or embedded eye tracking systems, or any other device capableof detecting or measuring the movement of one or both of the user'seyes. For example, eye movement may be determined using the EyeLink®1000 Plus system. As another example, eye movement may be determinedusing a camera and IR source positioned near the computer. In anotherexample, eye movement may be determined using a camera or a mirrorpositioned in the visual path of one or both eyes, and an additionalcamera that records the scene or field of view. In yet another example,eye movement may be determined using an augmented reality or virtualreality headset. It may be desirable for the window to follow the user'seye movement so that a user with a neurodevelopmental disorder is notfaced with the additional cognitive load of moving the window with aninput device such as a mouse or keyboard. For example, a camera and IRsource positioned near the computer may be used to determine that theuser is moving their eyes in smooth pursuit in a downward direction.Based on this determination, the window may move down the display of thewebsite in conjunction with the user's eye movement.

In some embodiments, a size of the window is adjustable. It may bedesirable to use an adjustable window size so that the user can modifythe amount of information that they need to focus on. The size of thewindow may be adjustable along any dimension, including height, width,and length. For example, a user with a neurodevelopmental disorder maybe presented with a window having a height of two inches. The user maydetermine that the size of the window causes too much information to befocused on in the window. Thus, the user may adjust the size of thewindow to have a height of one inch. In this example, less informationis highlighted in the window, which may make it easier for the user withthe neurodevelopmental disorder to comprehend the information inside thewindow.

In some embodiments, a specific one of the multiple default websitedisplay parameters has a range value, and the predefined templateincludes a specific value for the specific default website displayparameter. A range value may include a value that may vary within anupper and lower limit of values. Providing a range of values for adisplay parameter may allow the website to be optimized for the generalpopulation. However, a particular user may prefer to use a specificvalue for a display parameter. A predefined template for that user mayinclude a specific value of the display parameter that may be selectedfrom the range of values specified for that display parameter. Forexample, a font parameter for a website may have a range value between 8pt font and 20 pt font. This range of font sizes may be optimized forthe general population, allowing different users to view the websiteusing their preferred font size. For example, younger users might prefera smaller font size while older users might prefer a larger font size.In this example, a predefined template may include a specific value of18 pt for the font parameter, for example for an older user, so that thetext on the website is visible to that user. Alternatively, a predefinedtemplate for general users may have a specific value of 12 pt for thefont parameter to allow the general population to view the website witha font size of 12 pt.

In some embodiments, implementing the predefined template associatedwith the epilepsy-safe profile further includes adjusting the saturationparameter in the website code to cause a decrease in color intensity ofat least one actionable object, at least one image, and at least onetitle. The saturation parameter may include any parameter associatedwith the intensity of color in an image. Color intensity may include anymeasure of the brightness or dullness of any color in an image. Anactionable object may include any object whose properties may bechanged. For example, an actionable object may include a button that auser may click to change the color of its display. A title may includeany text on the website describing another object or text on thewebsite. It may be desirable to adjust the saturation parameter in thewebsite code to cause a decrease in color intensity of at least oneactionable object, at least one image, and at least one title to preventseizures, since epileptic individuals may experience seizures at certaincolor intensities. For example, implementing the predefined templateassociated with the epilepsy-safe profile may further include adjustingthe saturation parameter in the website code to cause a decrease inintensity of the color red of a button, a picture, and the title of thatpicture.

In some embodiments, adjusting the value of the at least one web displayparameter includes adjusting a saturation parameter in the website codeon a user session basis to decrease color intensity; adjusting a contentscaling parameter in website code on a user session basis to modifycontent scaling; adjusting a font type parameter in the website code ona user session basis to cause a readability increase; adjusting a fontsize parameter in the website code on a user session basis to modifyfont scaling; adjusting a line height parameter in the website code on auser session basis to modify spaces between text lines; adjusting aletter spacing parameter in the website code on a user session basis tomodify spaces between letters text; and adjusting a text color parameterin the website code on a user session basis to modify a contrast betweentext and background. Adjusting a saturation parameter in the websitecode on a user session basis to decrease color intensity may bedesirable to prevent seizures, since epileptic individuals mayexperience seizures at certain color intensities. For example, adjustinga saturation parameter in the website code on a user session basis todecrease color intensity may include decreasing the intensity of a redcolor on the website. Adjusting a content scaling parameter in websitecode on a user session basis to modify content scaling may be desirableto prevent seizures, since epileptic individuals may experience seizureswhen presented with larger flashing images, as opposed to smaller ones.For example, adjusting a content scaling parameter in website code on auser session basis to modify content scaling may include decreasing thesize of animated GIFs. Adjusting a font type parameter in the websitecode on a user session basis to cause a readability increase may bedesirable to allow an epileptic user to better read text withouttriggering a seizure. For example, adjusting a font type parameter inthe website code on a user session basis to cause a readability increasemay include changing red font to black font. Adjusting a font sizeparameter in the website code on a user session basis to modify fontscaling may be desirable to allow an epileptic user to better read texton the website even if other components are sized down to preventtriggering a seizure. For example, adjusting a font type parameter inthe website code on a user session basis to modify font scaling mayinclude increasing the font size from 8 pt to 12 pt. Adjusting a lineheight parameter in the website code on a user session basis to modifyspaces between text lines may be desirable to present a uniform lineheight for epileptic users. For example, adjusting a line heightparameter in the website code on a user session basis to modify spacesbetween text lines may include modifying varying line heights in thewebsite to conform to a single line height throughout the website.Adjusting a letter spacing parameter in the website code on a usersession basis to modify spaces between letters text may be desirable topresent a uniform letter spacing for epileptic users. For example,adjusting a letter spacing parameter in the website code on a usersession basis to modify spaces between letters text may includemodifying varying letter spacing in the website to conform to a singleletter spacing throughout the website. Adjusting a text color parameterin the website code on a user session basis to modify a contrast betweentext and background may be desirable to prevent seizures, sinceepileptic individuals may experience seizures when presented withhigher-contrast content. For example, adjusting text color parameter inthe website code on a user session basis to modify a contrast betweentext and background may include reducing a contrast between text andbackground. Adjusting the at least one web display parameter asdisclosed herein may be performed only in a session associated with anepileptic user. The adjustment may not be performed with a differentuser that does not have epilepsy. By doing so, each user would bepresented a website suitable to their particular needs.

In some embodiments, the operations further include identifying in awebsite code tagged titles; and identifying on a page of the websiteelements used as titles but untagged as titles; wherein highlightingtitles includes highlighting the tagged titles and the elements used astitles. Tagged titles in a website code may include text that is labeledas a title in the website code. For example, when using HTML websitecode, the <title> tag defines the title of the document. Elements usedas titles but untagged as titles may include identifying text in thewebsite that is not labeled as a title in the website code. For example,a block of text may be preceded by a descriptive phrase, acting as atitle, even though that phrase itself is not defined using the <title>tag in the HTML code. Other non-exhaustive examples of website portionsused as titles but untagged as titles may include those that are inlarger font, bolded, underlined, italicized, located at the top of thepage. Highlighting both the tagged titles and the elements used astitles may be desirable to ensure that a cognitively disabled user moreclearly understands the context of the displayed text, whether or notthe website code labels a certain portion of text as a title. Forexample, a website may include a first title “Subject A” describingportion A of the text and a second title “Subject B” describing portionB of the text. In the HTML website code, only the first title “SubjectA” may be tagged as a title with a <title> tag. In this example, it maybe desirable to highlight not only first title “Subject A,” but alsosecond title “Subject B” because they both provide context that acognitively disabled user may need to comprehend respective portions Aand B of the text. Thus, in this example, highlighting titles mayinclude doubling the size of both first title “Subject A” and secondtitle “Subject B.”

In some embodiments, the operations further include identifying in awebsite code tagged actionable objects; and identifying on the page ofthe website elements used as actionable objects but untagged asactionable objects; wherein highlighting actionable objects includeshighlighting the tagged actionable objects and the elements used asactionable objects. Tagged actionable objects in a website code mayinclude any actionable object that is labeled as an actionable object inthe website code. For example, when using HTML website code, the <link>tag defines an object that is a link to an external resource. As anotherexample, when using HTML website code, the <button> tag defines anobject that is a pressable link. Elements used as actionable objects butuntagged as actionable objects may include any actionable object in thewebsite that is not labeled as an actionable object in the website code.For example, a link may act as a button since it is pressable, eventhough that link itself is not defined using the <button> tag in theHTML code. Highlighting both the tagged actionable objects and theelements used as actionable objects may be desirable to ensure that acognitively disabled user more clearly understands which objects areactionable, whether or not the website code labels a certain portion oftext as an actionable object. For example, a website may include a linkand a button, both of which are pressable. In the HTML website code,only the button may be tagged as a button with a <button> tag. In thisexample, it may be desirable to highlight not only the button, but alsothe link because they both provide pressable objects that may not bereadily apparent to a cognitively disabled user. Thus, in this example,highlighting actionable objects may include doubling the size of boththe link and the button. In another example, a website may include amenu that is not tagged as an actionable object in the website code. Inthis example, the menu may still be used as an actionable item since auser is able to interact with the menu. Therefore, highlightingactionable objects may include also highlighting the menu, for example,by presenting a box around the menu.

In some embodiments, operations include using artificial intelligence(AI) to identify titles and actionable objects in the website code; andimplementing the predefined template includes highlighting the titlesand actionable objects. AI may include any application of computerscience dealing with the simulation of intelligent behavior incomputers. In some embodiments, machine learning algorithms (alsoreferred to as machine learning models) may be trained using trainingexamples. Some non-limiting examples of such machine learning algorithmsmay include classification algorithms, data regressions algorithms,image segmentation algorithms, visual detection algorithms (such asobject detectors, face detectors, person detectors, motion detectors,edge detectors, etc.), visual recognition algorithms (such as facerecognition, person recognition, object recognition, etc.), speechrecognition algorithms, mathematical embedding algorithms, naturallanguage processing algorithms, support vector machines, random forests,nearest neighbors algorithms, deep learning algorithms, artificialneural network algorithms, convolutional neural network algorithms,recursive neural network algorithms, linear machine learning models,non-linear machine learning models, ensemble algorithms, and so forth.For example, a trained machine learning algorithm may include aninference model, such as a predictive model, a classification model, aregression model, a clustering model, a segmentation model, anartificial neural network (such as a deep neural network, aconvolutional neural network, a recursive neural network, etc.), arandom forest, a support vector machine, and so forth. In some examples,the training examples may include example inputs together with thedesired outputs corresponding to the example inputs. Further, in someexamples, training machine learning algorithms using the trainingexamples may generate a trained machine learning algorithm, and thetrained machine learning algorithm may be used to estimate outputs forinputs not included in the training examples. In some examples,engineers, scientists, processes and machines that train machinelearning algorithms may further use validation examples and/or testexamples. For example, validation examples and/or test examples mayinclude example inputs together with the desired outputs correspondingto the example inputs, a trained machine learning algorithm and/or anintermediately trained machine learning algorithm may be used toestimate outputs for the example inputs of the validation examplesand/or test examples, the estimated outputs may be compared to thecorresponding desired outputs, and the trained machine learningalgorithm and/or the intermediately trained machine learning algorithmmay be evaluated based on a result of the comparison. In some examples,a machine learning algorithm may have parameters and hyper parameters,where the hyper parameters are set manually by a person or automaticallyby a process external to the machine learning algorithm (such as a hyperparameter search algorithm), and the parameters of the machine learningalgorithm are set by the machine learning algorithm according to thetraining examples. In some implementations, the hyper-parameters are setaccording to the training examples and the validation examples, and theparameters are set according to the training examples and the selectedhyper-parameters.

In some examples, a trained machine learning algorithm may be used as aninference model that when provided with an input generates an inferredoutput. For example, a trained machine learning algorithm may include aclassification algorithm, the input may include a sample, and theinferred output may include a classification of the sample (such as aninferred label, an inferred tag, and so forth). In another example, atrained machine learning algorithm may include a regression model, theinput may include a sample, and the inferred output may include aninferred value for the sample. In yet another example, a trained machinelearning algorithm may include a clustering model, the input may includea sample, and the inferred output may include an assignment of thesample to at least one cluster. In an additional example, a trainedmachine learning algorithm may include a classification algorithm, theinput may include one or more images, and the inferred output mayinclude a classification of an item depicted in the images or whetherthe images are associated with motion or animation. In yet anotherexample, a trained machine learning algorithm may include a regressionmodel, the input may include one or more images, and the inferred outputmay include an inferred value for an item depicted in the images (suchas a characterization of motion in the images). In an additionalexample, a trained machine learning algorithm may include an imagesegmentation model, the input may include images, and the inferredoutput may include a segmentation of the image. In some examples, thetrained machine learning algorithm may include one or more formulasand/or one or more functions and/or one or more rules and/or one or moreprocedures, the input may be used as input to the formulas and/orfunctions and/or rules and/or procedures, and the inferred output may bebased on the outputs of the formulas and/or functions and/or rulesand/or procedures (for example, selecting one of the outputs of theformulas and/or functions and/or rules and/or procedures, using astatistical measure of the outputs of the formulas and/or functionsand/or rules and/or procedures, and so forth).

In some embodiments, artificial neural networks may be configured toanalyze inputs and generate corresponding outputs. Some non-limitingexamples of such artificial neural networks may include shallowartificial neural networks, deep artificial neural networks, feedbackartificial neural networks, feed forward artificial neural networks,autoencoder artificial neural networks, probabilistic artificial neuralnetworks, time delay artificial neural networks, convolutionalartificial neural networks, recurrent artificial neural networks,long/short term memory artificial neural networks, and so forth. In someexamples, an artificial neural network may be configured manually. Forexample, a structure of the artificial neural network may be selectedmanually, a type of an artificial neuron of the artificial neuralnetwork may be selected manually, a parameter of the artificial neuralnetwork (such as a parameter of an artificial neuron of the artificialneural network) may be selected manually, and so forth. In someexamples, an artificial neural network may be configured using a machinelearning algorithm. For example, a user may select hyper-parameters forthe artificial neural network and/or the machine learning algorithm, andthe machine learning algorithm may use the hyper-parameters and trainingexamples to determine the parameters of the artificial neural network,for example using back propagation, using gradient descent, usingstochastic gradient descent, using mini-batch gradient descent, and soforth. In some examples, an artificial neural network may be createdfrom two or more other artificial neural networks by combining the twoor more other artificial neural networks into a single artificial neuralnetwork.

Using AI to identify titles and actionable objects in the website codemay be desirable to enable the processor to identify titles andactionable objects more easily and accurately without humanintervention. Using AI to identify titles and actionable objects in thewebsite code may include implementing an artificial neural networkalgorithm on the processor to identify tags corresponding to titles andactionable objects. For example, the neural network may be trained toidentify specific HTML tags such as <title> and <button>. The neuralnetwork may be trained with example sets including text identified astitles or buttons and associated website code. Then, the trained modelmay be configured to identify the titles and buttons when presented withthe website code or the text. In this example, implementing thepredefined template may include doubling the size of the website contentthat is labeled using the tags <title> and <button>, as identified bythe trained neural network.

In some embodiments, the operations further include using imageprocessing and a neural network to identify in a website code firstelements used as titles but untagged as titles and second elements usedas actionable objects but untagged as actionable objects; andimplementing the predefined template includes highlighting the firstelements and the second elements. Image processing may include any useof a computer to process images through an algorithm, such as objectdetection. A neural network may include any computational model thatconsists of several processing elements that receive inputs and deliveroutputs based on their predefined activation functions, such as a longshort-term memory (LSTM) neural network. Using image processing and aneural network to identify such elements may be desirable to identifyspecific objects and text within a website as a title or actionableobject more easily and accurately without human intervention. Forexample, an image processing algorithm may be used to detect titles bysearching the website for images of a word or phrase that precedes alarge block of text. Other non-exhaustive examples of title-detectionusing an image processing algorithm include searching for images of aword or phrase in large font, different font, bolded font, italicizedfont, underlined font, or in a different-colored font. The imageprocessing algorithm may be used to detect actionable objects bysearching the website for images of shapes, colors, fonts, styles, andother characteristics of actionable objects, such as buttons, menus,links, and other interactive objects. For example, the image processingalgorithm may be used to detect actionable objects, such as buttons, bysearching the website for images of a colored, geometric shape. A neuralnetwork, such as a LSTM model, may be trained to identify the titles andbuttons based on the detection of objects and/or text by the imageprocessing algorithm. In this example, implementing the predefinedtemplate may include doubling the size of the titles and buttonsidentified by the LTSM model. While doubling the size is disclosed inthis example, any manner of highlighting may be performed, as disclosedherein.

Some embodiments include a method for altering website default displayparameters to conform with a neurodevelopmental disorder profile. Themethod may include obtaining an indication that a user of a website hasa neurodevelopmental disorder; and based on the obtained indication,implementing a predefined template to alter multiple website defaultdisplay parameters to conform with needs of the user with theneurodevelopmental disorder, wherein the predefined template includes:adjusting a content scaling parameter in website code on a user sessionbasis to increase content scaling; executing a stop animation command inthe website code on a user session basis to limit movement on a display;and at least one of: adjusting a saturation parameter in the websitecode on a user session basis to increase display intensity; adjusting afont type parameter in the website code on a user session basis to causea readability increase; adjusting a font size parameter in the websitecode on a user session basis to modify font scaling; adjusting a lineheight parameter in the website code on a user session basis to increasespaces between text lines; adjusting a letter spacing parameter in thewebsite code on a user session basis to modify spaces between letterstext; and adjusting text color parameter in the website code on a usersession basis to modify a contrast between text and background.Implementing the predefined template may be configured to impactpresentation of content on a computing device of the user with theneurodevelopmental disorder without impacting presentation of content onother computing devices of other simultaneous viewers of the website.

FIG. 33A illustrates a flowchart of a method 3300 for altering websitedefault display parameters to conform with a neurodevelopmental disorderprofile, consistent with some embodiments of the present disclosure.Method 3300 includes step 3302 of obtaining an indication that a user ofa website has a neurodevelopmental disorder. The indication may beobtained as described earlier. Method 3300 further include step 3304implementing a predefined template to after multiple default websitedisplay parameters to conform with needs of the user with theneurodevelopmental disorder. The implementation may occur as describedearlier.

FIG. 33B illustrates a flowchart of an exemplary method 3350 ofimplementing the predefined template for a user with theneurodevelopmental disorder. As described in more detail earlier, method3350 includes step 3352 of adjusting a content scaling parameter inwebsite code on a user session basis to increase content scaling. Method3350 includes step 3354 of executing a stop animation command in thewebsite code on a user session basis to limit movement on a display, asdescribed earlier. Method 3350 further includes step 3356 of adjusting asaturation parameter in the website code on a user session basis toincrease display intensity as described earlier.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the user with the neurodevelopmentaldisorder, and wherein the method further includes, after implementingthe predefined template, receiving a second input from the user; andbased on the second input, additionally adjusting the content scalingparameter to address specific needs of the user with theneurodevelopmental disorder. Receiving a first input and receiving asecond input from the user with the neurodevelopmental disorder may bedesirable to allow for continued adjustment of website content based onuser needs. Implementing the predefined template in response to receiptof a first input may include altering default website display parametersin response to a user input, such as clicking or typing. Additionallyadjusting the content scaling parameter to address specific needs of theuser with the neurodevelopmental disorder based on the second input maybe desirable to allow a user to change the display of the website tomeet additional needs as a result of their neurodevelopmental disorder,or other needs unrelated to their neurodevelopmental disorder. Forexample, implementing the predefined template may include doubling acontent scaling parameter following a first input in the form of a userclicking on an option for a neurodevelopmental disorder profile from theaccessibility GUI. In this example, additionally adjusting the contentscaling parameter may include further increasing (e.g., tripling) thecontent scaling parameter following a second input in the form of theuser selecting a content scaling value from a drop-down menu, so thatthe user with the neurodevelopmental disorder can better comprehend thecontent on the website.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the user with the neurodevelopmentaldisorder, and wherein the method further includes, after implementingthe predefined template, receiving a second input from the user; andbased on the second input, adjusting at least one website displayparameter other than the content scaling parameter to address specificneeds of the user with the neurodevelopmental disorder. Receiving afirst input and receiving a second input from the user with theneurodevelopmental disorder may be desirable to allow for continuedadjustment of website content based on user needs. At least one websitedisplay parameter in this context may be any website display parameterthat differs from the content scaling parameter that is altered when thepredefined template is implemented in response to the receipt of thefirst input from the user with the neurodevelopmental disorder. Forexample, the at least one website display parameter adjusted based onthe second input may include limiting movement on a display by executinga stop animation command. Adjusting at least one website displayparameter other than the content scaling parameter to address specificneeds of the user with the neurodevelopmental disorder based on thesecond input may be desirable to allow a user to change the display ofthe website to meet additional needs as a result of theirneurodevelopmental disorder, or other needs unrelated to theirneurodevelopmental disorder. For example, implementing the predefinedtemplate may include doubling a content scaling parameter following afirst input in the form of a user clicking on an option for aneurodevelopmental disorder profile from the accessibility GUI. In thisexample, adjusting at least one website display parameter other than thecontent scaling parameter may include pausing all moving images on thewebsite following a second input in the form of a user selecting anoption to pause moving content from a drop-down menu, so that it iseasier for the user with the neurodevelopmental disorder to comprehendthe text without becoming distracted.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the user with the neurodevelopmentaldisorder, and wherein the method further includes, after implementingthe predefined template, receiving a second input from the userindicating that the user with the neurodevelopmental disorder has anadditional disability; and based on the second input, adjusting at leastone website display parameter to conform with needs of theneurodevelopmental disorder and the additional disability. Receiving afirst input and receiving a second input from the user with theneurodevelopmental disorder may be desirable to allow for continuedadjustment of website content based on user needs. Adjusting at leastone website display parameter to conform with needs of theneurodevelopmental disorder and the additional disability based on thesecond input from the user with the neurodevelopmental disorderindicating that the user with the neurodevelopmental disorder has anadditional disability may be desirable to allow a user to change thedisplay of the website to meet other needs related to an additionalimpairment status. An additional disability may include any otherphysical or mental condition that limits a person's movements, senses,or activities. Examples of additional disabilities may include epilepsy,visual impairment, and cognitive impairment. In one example, the userwith the neurodevelopmental disorder may also have a visual impairment.In another example, the user with the neurodevelopmental disorder mayalso have epilepsy. For example, implementing the predefined templatemay include doubling a content scaling parameter following a first inputin the form of a user clicking on an option for a neurodevelopmentaldisorder profile from the accessibility GUI. In this example, the userwith the neurodevelopmental disorder may enter a second input indicatingthat the user with the neurodevelopmental disorder also has epilepsy byadditionally clicking on an option for a seizure safe profile from theaccessibility GUI, whereby moving images such as GIFs may be paused toprevent seizures.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the user with the neurodevelopmentaldisorder, and wherein the method further includes, after implementingthe predefined template, receiving a second input from the user; andbased on the second input, cause a display of the website to revert to adefault presentation mode. Receiving a first input and receiving asecond input from the user with the neurodevelopmental disorder may bedesirable to allow for continued adjustment of website content based onuser needs. Causing a display of the website to revert to a defaultpresentation mode based on the second input may be desirable if the userdoes not want to view the website in a neurodevelopmental disorder mode.For example, after implementing the predefined template, a user mayrealize that they do not require the neurodevelopmental disordermodifications on that particular website, depending on the extent andnature of the user's individual neurodevelopmental disorder. In thisexample, the second input may cause a display of the website to revertto a default presentation mode so that the user can view and interactwith the website without any restrictions. In one example, implementingthe predefined template may include doubling a content scalingparameter. In this example, the user may realize that they do notrequire the content to be scaled to such an extent to comprehend theinformation on the website. This user may click on a button on thewebsite to revert to the default presentation mode the original contentscaling.

FIG. 32 illustrates a flowchart 3200 of alternative responses to asecond input from a user with a neurodevelopmental disorder, consistentwith some embodiments of the present disclosure, including step 3202 ofreceiving a first input from a user with a neurodevelopmental disorderindicative of a selection of a neurodevelopmental disorder profile. Sucha selection may occur as described earlier. Method 3200 also includesstep 3204 of implementing the predefined template to conform with theneeds of the user with a neurodevelopmental disorder, as describedearlier. At step 3206 a second input is received from the user with aneurodevelopmental disorder. As with the first input, the second inputmay occur as described earlier. At step 3208 the content scalingparameter may be additionally adjusted to address specific needs of theuser with a neurodevelopmental disorder, and at step 3210 includesadjusting at least one website display parameter other than the contentscaling parameter included in the predefined template to addressspecific needs of the user with a neurodevelopmental disorder. At step3212 at least one website display parameter is adjusted to conform withneeds of the neurodevelopmental disorder and the additional disabilitywhen the second input from the user with a neurodevelopmental disorderindicates that the user with a neurodevelopmental disorder has anadditional disability. Such adjustments at steps 3208, 3210, and 33212may occur as described earlier. At step 3214 a display of the website iscaused to revert to a default presentation mode, as described earlier.

Disclosed embodiments include a method for alternating default websitedisplay parameters to conform with an epilepsy-safe profile. The methodmay include obtaining an indication that a user of a website hasepilepsy; and based on the obtained indication, implementing apredefined template to alter multiple website default display parametersto conform with needs of the epileptic user. Implementing the predefinedtemplate may include executing a stop animation command in website codeon a user session basis to limit movement on a display; and adjusting avalue of at least one web display parameter. Executing the stopanimation command and adjusting the value of the at least one webdisplay parameter may be configured to impact presentation of content ona computing device of the user with the epileptic disability withoutimpacting presentation of content on other computing devices of othersimultaneous viewers of the website,

FIG. 24A illustrates a flowchart of a method 2400 for alternatingdefault website display parameters to conform with an epilepsy-safeprofile, consistent with some embodiments of the present disclosure.Method 2400 may include step 2402 of obtaining an indication that a userof a website has epilepsy. Method 2400 may include step 2404 of based onthe obtained indication, implementing a predefined template to altermultiple website default display parameters to conform with needs of theepileptic user. FIG. 24B illustrates a flowchart of an exemplary method2450 of implementing the predefined template for an epileptic user.Method 2450 may include step 2452 of executing a stop animation commandin website code on a user session basis to limit movement on a display.Method 2450 may include step 2454 of adjusting a saturation parameter inthe website code on a user session basis to decrease color intensity.Method 2450 may include step 2456 of adjusting a content scalingparameter in the website code on a user session basis to increase sizesof certain objects.

In some embodiments, the execution of the stop animation command and theadjustment of the value of the at least one web display parameter areimplemented in response to receipt of a first input from the epilepticuser, and wherein the method further includes, after implementing thepredefined template, receiving a second input from the epileptic user;and based on the second input, additionally adjusting the value of theat least one web display parameter to address specific needs of theepileptic user. Receiving a first input indicative of a selection of anepilepsy-safe profile and receiving a second input may be desirable toallow for continued adjustment of website content based on user needs.Additionally adjusting the value of the at least one web displayparameter to address specific needs of the epileptic user based on thesecond input may be desirable to allow a user to change the display ofthe website to meet additional needs as a result of their epilepticstatus, or other needs unrelated to their epileptic status. For example,adjusting at least one web display parameter following the receipt ofthe first input may include increasing the size of the font on thewebsite from 12 pt to 14 pt following a first input in the form of auser clicking on an option for an epilepsy-safe profile from theaccessibility GUI. In this example, the additionally adjusting the valueof the at least one web display parameter may include increasing thesize of the font from 14 pt to 16 pt following a second input in theform of a user selecting a font size from a drop-down menu, so that theepileptic user can better read the text on the website.

In some embodiments, the execution of the stop animation command and theadjustment of the value of the at least one web display parameter areimplemented in response to receipt of a first input from the epilepticuser, and wherein the method further includes, after implementing thepredefined template, receiving a second input from the epileptic user;and based on the second input, adjusting a value of a website displayparameter other than the at least one web display parameter to addressspecific needs of the epileptic user. Receiving a first input indicativeof a selection of an epilepsy-safe profile and receiving a second inputmay be desirable to allow for continued adjustment of website contentbased on user needs. A website display parameter in this context may beany website display parameter that differs from the at least one webdisplay parameter. For example, when the at least one web displayparameter includes a font size, the website display parameter mayinclude a font color. Adjusting a value of a website display parameterother than the at least one web display parameter to address specificneeds of the epileptic user based on the second input may be desirableto allow a user to change the display of the website to meet additionalneeds as a result of their epileptic status, or other needs unrelated totheir epileptic status. For example, adjusting at least one web displayparameter following the receipt of the first input may includeincreasing the size of the font on the website from 12 pt to 14 ptfollowing a first input in the form of a user clicking on an option foran epilepsy-safe profile from the accessibility GUI. In this example,adjusting a value of a website display parameter other than the at leastone web display parameter may include changing a color of the text fromgray to black following a second input in the form of a user selecting afont color from a drop-down menu so that it is easier for the epilepticuser to read the text.

In some embodiments, the execution of the stop animation command and theadjustment of the value of the at least one web display parameter areimplemented in response to receipt of a first input from the epilepticuser, and wherein the method further includes, after implementing thepredefined template, receiving a second input from the epileptic userindicating that the epileptic user has an additional disability; andbased on the second input, adjusting an additional website displayparameter to conform with needs of the epilepsy and the additionaldisability. Receiving a first input indicative of a selection of anepilepsy-safe profile and receiving a second input may be desirable toallow for continued adjustment of website content based on user needs.Adjusting an additional website display parameter to conform with needsof the epilepsy and the additional disability based on the second inputfrom the epileptic user indicating that the epileptic user has anadditional disability may be desirable to allow a user to change thedisplay of the website to meet other needs related to an additionalimpairment status. For example, adjusting at least one web displayparameter following the receipt of the first input may includeincreasing the size of the font on the website from 12 pt to 14 ptfollowing a first input in the form of a user clicking on an option foran epilepsy-safe profile from the accessibility GUI. In this example,the epileptic user may enter a second input indicating that theepileptic user also has a vision impairment by additionally clicking onan option for a vision impairment profile from the accessibility GUI,whereby a contrast between the text and the background may be increasedin order to make the text more distinct to the visually-impaired user.

In some embodiments, the execution of the stop animation command and theadjustment of the value of the at least one web display parameter areimplemented in response to receipt of a first input from the epilepticuser, and wherein the method further includes, after implementing thepredefined template, receiving a second input from the epileptic user;and based on the second input, causing a display of the website torevert to a default presentation mode. Receiving a first inputindicative of a selection of an epilepsy-safe profile and receiving asecond input may be desirable to allow for continued adjustment ofwebsite content based on user needs. Causing a display of the website torevert to a default presentation mode based on the second input may bedesirable if the user does not want to view the website in anepilepsy-safe mode. For example, after implementing the predefinedtemplate, a user may realize that they do not require the epilepsy-safemodifications on that particular website, depending on the extent andnature of the user's individual epileptic status. In this example, thesecond input may cause a display of the website to revert to a defaultpresentation mode so that the user can view and interact with thewebsite without any restrictions.

FIG. 23 illustrates a flowchart 2300 of alternative responses to asecond input from the epileptic user, consistent with some embodimentsof the present disclosure. Method 2300 may include a step 2302 ofreceiving a first input from an epileptic user indicative of a selectionof an epilepsy-safe profile, as described earlier. Method 2300 mayinclude a step 2304 of executing a stop animation command and adjustingat least one web display parameter to conform with needs of theepileptic user, as described earlier. Method 2300 may include a step2306 of receiving a second input from the epileptic user, as describedearlier. Method 2300 may include a step 2308 of additionally adjustingthe value of the at least one web display parameter to address specificneeds of the epileptic user, as described earlier. Method 2300 mayinclude a step of 2310 of adjusting a value of a website displayparameter other than the at least one web display parameter to addressspecific needs of the epileptic user, as described earlier. Method 2300may include a step 2312 of adjusting an additional website displayparameter to conform with needs of the epilepsy and the additionaldisability when the second input from the epileptic user indicates thatthe epileptic user has an additional disability, as described earlier.Method 2300 may include a step 2314 of causing a display of the websiteto revert to a default presentation mode, as described earlier.

Disclosed embodiments include a method for alternating website defaultdisplay parameters to conform with a visual impairment profile. Themethod may include obtaining an indication that a user of a website isvisually impaired; and based on the obtained indication, implementing apredefined template to alter multiple default website display parametersto conform with needs of the visually impaired user, whereinimplementing the predefined template includes at least two of: adjustinga content scaling parameter in website code on a user session basis toincrease content scaling; adjusting a font type parameter in the websitecode on a user session basis to cause a readability increase; adjustinga saturation parameter in the website code on a user session basis toincrease display intensity; adjusting a font size parameter in thewebsite code on a user session basis to increase font scaling; adjustinga line height parameter in the website code on a user session basis toincrease spaces between text lines; adjusting a letter spacing parameterin the website code on a user session basis to increase spaces betweenletters text; and adjusting a text color parameter in the website codeon a user session basis to increase a contrast between text andbackground. Implementing the predefined template may be configured toimpact presentation of content on a computing device of the visuallyimpaired user without impacting presentation of content on othercomputing devices of other simultaneous users of the website.

FIG. 27A illustrates a flowchart of a method 2700 for alternatingwebsite default display parameters to conform with a visual impairmentprofile, consistent with some embodiments of the present disclosure.Method 2700 may include step 2702 of obtaining an indication that a userof a website is visually impaired, as described earlier. Method 2700 mayinclude step 2704 of based on the obtained indication, implementing apredefined template to alter multiple default website display parametersto conform with needs of the visually impaired user, as describedearlier. FIG. 278 illustrates a flowchart of an exemplary method 2750 ofimplementing the predefined template for a visually impaired user.Method 2750 may include step 2752 of adjusting a content scalingparameter in website code on a user session basis to increase contentscaling, as described earlier. Method 2750 may include step 2754 ofadjusting a font type parameter in the website code on a user sessionbasis to cause a readability increase, as described earlier. Method 2750may include step 2756 of adjusting a saturation parameter in the websitecode on a user session basis to increase display intensity, as describedearlier.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the visually impaired user, and afterimplementing the predefined template that caused an adjustment to awebsite display parameter, receiving a second input from the visuallyimpaired user, and based on the second input, additionally adjusting thewebsite display parameter to address specific needs of the visuallyimpaired user. Receiving a first input and receiving a second input fromthe visually impaired user may be desirable to allow for continuedadjustment of website content based on user needs. Implementing thepredefined template in response to receipt of a first input may includealtering default website display parameters in response to a user input,such as clicking or typing. Additionally adjusting the website displayparameter to address specific needs of the visually impaired user basedon the second input may be desirable to allow a user to change thedisplay of the website to meet additional needs as a result of theirvisual impairment, or other needs unrelated to their visual impairment.For example, implementing the predefined template may include increasingthe size of the font on the website from 12 pt to 14 pt following afirst input in the form of a user clicking on an option for a visualimpairment profile from the accessibility GUI. In this example,additionally adjusting website display parameter may include increasingthe size of the font from 14 pt to 16 pt following a second input in theform of a user selecting a font size from a drop-down menu, so that thevisually impaired user can better read the text on the website.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the visually impaired user, and afterimplementing the predefined template that caused an adjustment to awebsite display parameter, receiving a second input from the visuallyimpaired user, and based on the second input, adjusting a second websitedisplay parameter other than the website display parameter to addressspecific needs of the visually impaired user. Receiving a first inputand receiving a second input from the visually impaired user may bedesirable to allow for continued adjustment of website content based onuser needs. A second display parameter in this context may be anywebsite display parameter that differs from the website displayparameter that is not already altered based when the predefined templateis implemented in response to the receipt of the first input from thevisually impaired user. For example, when the website display parameterincludes a font size parameter, the second website display parameter mayinclude a text color parameter. Adjusting a second website displayparameter other than the website display parameter to address specificneeds of the visually impaired user based on the second input may bedesirable to allow a user to change the display of the website to meetadditional needs as a result of their visual impairment, or other needsunrelated to their visual impairment. For example, implementing thepredefined template may include increasing the size of the font on thewebsite from 12 pt to 14 pt following a first input in the form of auser clicking on an option for a visual impairment profile from theaccessibility GUI. In this example, adjusting a second website displayparameter other than the website display parameter may include changinga color of the text from gray to black following a second input in theform of a user selecting a font color from a drop-down menu so that itis easier for the visually impaired user to read the text.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the visually impaired user, and afterimplementing the predefined template, receiving a second input from thevisually impaired user indicating that the visually impaired user has anadditional disability, and based on the second input, adjusting at leastone website display parameter to conform with needs of the visualimpairment and the additional disability. Receiving a first input andreceiving a second input from the visually impaired user may bedesirable to allow for continued adjustment of website content based onuser needs. Adjusting at least one website display parameter to conformwith needs of the visual impairment and the additional disability basedon the second input from the visually impaired user indicating that thevisually impaired user has an additional disability may be desirable toallow a user to change the display of the website to meet other needsrelated to an additional impairment status. An additional disability mayinclude any other physical or mental condition that limits a person'smovements, senses, or activities. Examples of additional disabilitiesmay include epilepsy, cognitive disabilities, and ADHD. In one example,the visually impaired user may also have ADHD. In another example, thevisually impaired user may also have epilepsy. For example, implementingthe predefined template may include increasing the size of the font onthe website from 12 pt to 14 pt following a first input in the form of auser clicking on an option for a visual impairment profile from theaccessibility GUI. In this example, the visually impaired user may entera second input indicating that the visually impaired user also hasepilepsy by additionally clicking on an option for a seizure safeprofile from the accessibility GUI, whereby moving images such as GIFsmay be paused to prevent seizures.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the visually impaired user, and afterimplementing the adjustment, receiving a second input from the visuallyimpaired user, and based on the second input, causing a display of thewebsite to revert to a default presentation mode. Receiving a firstinput and receiving a second input from the visually impaired user maybe desirable to allow for continued adjustment of website content basedon user needs. Causing a display of the website to revert to a defaultpresentation mode based on the second input may be desirable if the userdoes not want to view the website in a visual impairment mode. Forexample, after implementing the predefined template, a user may realizethat they do not require the visual impairment modifications on thatparticular website, depending on the extent and nature of the user'sindividual visual impairment. In this example, the second input maycause a display of the website to revert to a default presentation modeso that the user can view and interact with the website without anyrestrictions. In one example, implementing the predefined template mayinclude increasing the size of the font from 12 pt to 20 pt. In thisexample, the user may realize that they do not require 20 pt font toread the text clearly. This user may click on a button on the website torevert to the default presentation mode including 12 pt. in anotherexample, implementing the predefined template may include doubling thesize of images on the website. In this example, the user may realizethat they do not require the images to be larger than their originalsize to view them clearly. This user may click on a button on thewebsite to revert to the default presentation mode without the imagesdoubled in size.

FIG. 26 illustrates a flowchart 2600 of alternative responses to asecond input from the visually impaired user, consistent with someembodiments of the present disclosure. Method 2600 may include a step2602 of receiving a first input from a visually impaired user indicativeof a selection of a visual impairment profile. Method 2600 may include astep 2604 of implementing the predefined template to conform with theneeds of the visually impaired user. Method 2600 may include a step 2606of receiving a second input from the visually impaired user. Method 2600may include a step 2608 of changing a website display parameter includedin the predefined template to address specific needs of the visuallyimpaired user. Method 2600 may include a step of 2610 of adjusting asecond website display parameter other than a website display parameterincluded in the predefined template to address specific needs of thevisually impaired user. Method 2600 may include a step 2612 of adjustingat least one website display parameter to conform with needs of thevisual impairment and the additional disability when the second inputfrom the visually impaired user indicates that the visually impaireduser has an additional disability. Method 2600 may include a step 2614of causing a display of the website to revert to a default presentationmode.

Some disclosed embodiments involve altering website default displayparameters to conform with a cognitive disability profile. Suchembodiments further include obtaining an indication that a user of awebsite has a cognitive disability; and based on the obtainedindication, implementing a predefined template to alter multiple websitedefault display parameters to conform with needs of the cognitivelydisabled user, wherein implementing the predefined template includes atleast two of: executing a highlighting titles command in website code ona user session basis to highlight titles depicted on the website;executing a highlighting actionable objects command in website code on auser session basis to highlight actionable objects depicted on thewebsite; adjusting a content scaling parameter in website code on a usersession basis to increase content scaling; and executing a stopanimation command in website code on a user session basis to limitmovement on a display. Implementing the predefined template may beconfigured to impact presentation of content on a computing device ofthe user with the cognitive disability without impacting on othercomputing devices display to other simultaneous viewers of the website,

FIG. 30A illustrates a flowchart of a method 3000 for altering websitedefault display parameters to conform with a cognitive disabilityprofile, consistent with some embodiments of the present disclosure,including step 3002 of obtaining an indication that a user of a websitehas a cognitive disability, as described earlier. Step 3004 includes,implementing a predefined template to alter multiple default websitedisplay parameters to conform with needs of the cognitively disableduser, as described earlier.

FIG. 30B illustrates a flowchart of an exemplary method 3050 ofimplementing the predefined template for a cognitively disabled user. Asdescribed earlier, in step 3052, tagged titles are identified in websitecode. Method 3050 may include step 3054 of identifying on a page of thewebsite first elements used as titles but untagged as titles, asdescribed earlier. Method 3050 may include step 3056 of identifying inthe website code tagged actionable objects, as described earlier. Method3050 may include step 3058 of identifying on the page of the websitesecond elements used as actionable objects but untagged as actionableobjects, as described earlier. Method 3050 may include step 3060 ofhighlighting on a user session basis the tagged titles, the firstelements used as titles, the actionable objects, and the second elementsused as the actionable objects, as described earlier.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the cognitively disabled user, andwherein the operations further include, after implementing thepredefined template that caused an adjustment of a website displayparameter, receiving a second input from the cognitively disabled user,and based on the second input, changing the website display parameter toaddress specific needs of the cognitively disabled user. Receiving afirst input and receiving a second input from the cognitively disableduser may be desirable to allow for continued adjustment of websitecontent based on user needs. As described earlier, implementing thepredefined template in response to receipt of a first input may includealtering default website display parameters in response to a user input,such as clicking or typing. Changing the website display parameter toaddress specific needs of the cognitively disabled user based on thesecond input may be desirable to allow a user to change the display ofthe website to meet additional needs as a result of their cognitivedisability, or other needs unrelated to their cognitive disability, asdescribed earlier. For example, implementing the predefined template mayinclude doubling a content scaling parameter following a first input inthe form of a user clicking on an option for a cognitive disabilityprofile from the accessibility GUI. In this example, changing thewebsite display parameter may include tripling the content scalingparameter following a second input in the form of a user selecting acontent scaling value from a drop-down menu, so that the cognitivelydisabled user can better comprehend the content on the website.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the cognitively disabled user, andwherein the operations further include, after implementing thepredefined template that caused an adjustment of a website displayparameter, receiving a second input from the cognitively disabled user,and based on the second input, adjusting at least one website displayparameter other than the website display parameter to address specificneeds of the cognitively disabled user. Receiving a first input andreceiving a second input from the cognitively disabled user may bedesirable to allow for continued adjustment of website content based onuser needs. At least one website display parameter in this context maybe any website display parameter that differs from a website displayparameter that is not already altered when the predefined template isimplemented in response to the receipt of the first input from thecognitively disabled user. For example, when the website displayparameter includes a content scaling parameter, the at least one websitedisplay parameter adjusted based on the second input may includelimiting movement on a display by executing a stop animation command.Adjusting at least one website display parameter other than the websitedisplay parameter to address specific needs of the cognitively disableduser based on the second input may be desirable to allow a user tochange the display of the website to meet additional needs as a resultof their cognitive disability, or other needs unrelated to theircognitive disability. For example, implementing the predefined templatemay include doubling a content scaling parameter following a first inputin the form of a user clicking on an option for a cognitive disabilityprofile from the accessibility GUI. In this example, adjusting at leastone website display parameter other than the website display parametermay include pausing all moving images on the website following a secondinput in the form of a user selecting an option to pause moving contentfrom a drop-down menu, so that it is easier for the cognitively disableduser to comprehend the text without becoming distraction.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the cognitively disabled user, andwherein the operations further include, after implementing thepredefined template, receiving a second input from the cognitivelydisabled user indicating that the cognitively disabled user has anadditional disability, and based on the second input, adjusting at leastone website display parameter to conform with needs of the cognitivedisability and the additional disability. Receiving a first input andreceiving a second input from the cognitively disabled user may bedesirable to allow for continued adjustment of website content based onuser needs. Adjusting at least one website display parameter to conformwith needs of the cognitive disability and the additional disabilitybased on the second input from the cognitively disabled user indicatingthat the cognitively disabled user has an additional disability may bedesirable to allow a user to change the display of the website to meetother needs related to an additional impairment status. An additionaldisability may include any other physical or mental condition thatlimits a person's movements, senses, or activities. Examples ofadditional disabilities may include epilepsy, visual impairment, andADHD. In one example, the cognitively disabled user may also have avisual impairment. In another example, the cognitively disabled user mayalso have epilepsy. For example, implementing the predefined templatemay include doubling a content scaling parameter following a first inputin the form of a user clicking on an option for a cognitive disabilityprofile from the accessibility GUI. In this example, the cognitivelydisabled user may enter a second input indicating that the cognitivelydisabled user also has epilepsy by additionally clicking on an optionfor a seizure safe profile from the accessibility GUI, whereby movingimages such as GIFs may be paused to prevent seizures.

In some embodiments, the predefined template is implemented in responseto receipt of a first input from the cognitively disabled user, andwherein the operations further include, after implementing thepredefined template, receiving a second input from the cognitivelydisabled user, and based on the second input, cause a display of thewebsite to revert to a default presentation mode. Receiving a firstinput and receiving a second input from the cognitively disabled usermay be desirable to allow for continued adjustment of website contentbased on user needs. Causing a display of the website to revert to adefault presentation mode based on the second input may be desirable ifthe user does not want to view the website in a cognitive disabilitymode. For example, after implementing the predefined template, a usermay realize that they do not require the cognitive disabilitymodifications on that particular website, depending on the extent andnature of the user's individual cognitive disability. In this example,the second input may cause a display of the website to revert to adefault presentation mode so that the user can view and interact withthe website without any restrictions. In one example, implementing thepredefined template may include doubling a content scaling parameter. Inthis example, the user may realize that they do not require the contentto be scaled to such an extent to comprehend the information on thewebsite. This user may click on a button on the website to revert to thedefault presentation mode the original content scaling.

FIG. 29 illustrates a flowchart 2900 of alternative responses to asecond input from the cognitively disabled user, consistent with someembodiments of the present disclosure. Method 2900 may include a step2902 of receiving a first input from a cognitively disabled userindicative of a selection of a cognitive disability profile. Method 2900may include a step 2904 of implementing the predefined template toconform with the needs of the cognitively disabled user. Method 2900 mayinclude a step 2906 of receiving a second input from the cognitivelydisabled user. Method 2900 may include a step 2908 of changing a websitedisplay parameter included in the predefined template to addressspecific needs of the cognitively disabled user. Method 2900 may includea step of 2910 of adjusting at least one website display parameter otherthan a website display parameter included in the predefined template toaddress specific needs of the cognitively disabled user. Method 2900 mayinclude a step 2912 of adjusting at least one website display parameterto conform with needs of the cognitive disability and the additionaldisability when the second input from the cognitively disabled userindicates that the cognitively disabled user has an additionaldisability. Method 2900 may include a step 2914 of causing a display ofthe website to revert to a default presentation mode.

Some embodiments include a system for altering default displayparameters to conform with a neurodevelopmental disorder profile. Thesystem may include a memory configured to store values of variouswebsite display parameters associated with a plurality of webaccessibility profiles; and at least one processor configured to: obtainan indication that a user of a website has a neurodevelopmentaldisorder; and based on the obtained indication, implement a predefinedtemplate to alter multiple website default display parameters to conformwith needs of the user with the neurodevelopmental disorder, wherein thepredefined template includes: adjusting a content scaling parameter inwebsite code on a user session basis to increase content scaling;executing a stop animation command in the website code on a user sessionbasis to limit movement on a display; and at least one of: adjusting asaturation parameter in the website code on a user session basis toincrease display intensity; adjusting a font type parameter in thewebsite code on a user session basis to cause a readability increase;adjusting a font size parameter in the website code on a user sessionbasis to modify font scaling; adjusting a line height parameter in thewebsite code on a user session basis to increase spaces between textlines; adjusting a letter spacing parameter in the website code on auser session basis to modify spaces between letters text; and adjustingtext color parameter in the website code on a user session basis tomodify a contrast between text and background. Implementing thepredefined template may be configured to impact presentation of contenton a computing device of the user with the neurodevelopmental disorderwithout impacting presentation of content on other computing devices ofother simultaneous viewers of the website. The elements of the systemwere described earlier in the context of the methods described herein,and to avoid unnecessary repetition, are not repeated.

Disclosed embodiments include a system for alternating default websitedisplay parameters to conform with an epilepsy-safe profile. The systemmay include at least one processor configured to: obtain an indicationthat a user of a website has epilepsy; and based on the obtainedindication, implement a predefined template to alter multiple websitedefault display parameters to conform with needs of the epileptic user,wherein implementing the predefined template includes: executing a stopanimation command in website code on a user session basis to limitmovement on a display; and adjusting a value of at least one web displayparameter; wherein executing the stop animation command and adjustingthe value of the at least one web display parameter is configured toimpact presentation of content on a computing device of the user withthe epileptic disability without impacting presentation of content onother computing devices of other simultaneous viewers of the website.

Disclosed embodiments include a system for alternating default websitedisplay parameters to conform with a visual impairment profile. Thesystem may include at least one processor configured to: obtain anindication that a user of a website is visually impaired; and based onthe obtained indication, implement a predefined template to altermultiple default website display parameters to conform with needs of thevisually impaired user, wherein implementing the predefined templateincludes at least two of: adjusting a content scaling parameter inwebsite code on a user session basis to increase content scaling;adjusting a font type parameter in the website code on a user sessionbasis to cause a readability increase; adjusting a saturation parameterin the website code on a user session basis to increase displayintensity; adjusting a font size parameter in the website code on a usersession basis to increase font scaling; adjusting a line heightparameter in the website code on a user session basis to increase spacesbetween text lines; adjusting a letter spacing parameter in the websitecode on a user session basis to increase spaces between letters text;and adjusting a text color parameter in the website code on a usersession basis to increase a contrast between text and background;wherein implementing the predefined template is configured to impactpresentation of content on a computing device of the visually impaireduser without impacting presentation of content on other computingdevices of other simultaneous users of the website,

Disclosed embodiments include a system for altering default displayparameters to conform with a cognitive disability profile. The systemmay include at least one processor configured to; obtain an indicationthat a user of a website has a cognitive disability; and based on theobtained indication, implement a predefined template to alter multiplewebsite default display parameters to conform with needs of thecognitively disabled user, wherein implementing the predefined templateincludes at least two of: executing a highlighting titles command inwebsite code on a user session basis to highlight titles depicted on thewebsite; executing a highlighting actionable objects command in websitecode on a user session basis to highlight actionable objects depicted onthe website; adjusting a content scaling parameter in website code on auser session basis to increase content scaling; and executing a stopanimation command in website code on a user session basis to limitmovement on a display; wherein implementing the predefined template isconfigured to impact presentation of content on a computing device ofthe user with the cognitive disability without impacting on othercomputing devices display to other simultaneous viewers of the website.

Improving the accessibility of website for disabled individuals mayrequire making modifications to the website code. For example, screenreaders are commonly used by blind or visually impaired personsnavigating a website. As another example, screen readers may be used inareas of poor reception or low bandwidth as a substitute for loadingvisual content. A screen reader may audibly present content that isotherwise only presented visually, allowing users to consume visualcontent audibly. However, to audibly present the web elements of awebsite a screen reader may require accompanying descriptive text. Thedescription that follows relates to altering website code to conformwith a screen reader profile.

In some embodiments, the altered website code may be stored at a websitehost, such that the altered website code may be available to usersrequesting to navigate the website. In some embodiments, the alteredwebsite code may be stored locally on a specific device associated withscreen reader usage. A software application may be provided to detectscreen reader usage for navigating and consuming website content on aspecific device. For example, a user selecting a web accessibilityprofile associated with the screen reader (e.g., the Screen Readerprofile) may indicate screen reader usage. Based on the indication, apredefined template may be implemented to make multiple changes to thewebsite code for conforming the website code with accessibility needs.For example, the website code may be updated to conform with the needsof blind users using a screen reader. Multiple elements may beidentified in the website code corresponding to objects for displayingon the website. For example, the website code may include references toimage, text, and video content and any other visually presentablecontent. Accessibility information may be determined for at least someof the objects displayed on the website. For example, accessibilityinformation may be determined based on context, via a textual analysis,via an image analysis of text, and/or via an analysis of image contentassociated with the website. The website code may then be updated basedon the accessibility information. The updates may be configured to onlychange an audible presentation of the website. For example, the updatesmay be applicable to a screen reader invoked on a specific computingdevice, while not impacting a simultaneous rendering of the website on adifferent computing device. For example, the updates may be added asalternate text to references of images. A web browser running on a firstcomputing device associated with screen reader usage may provide thealternate text to the screen reader for recitation. However, a webbrowser running on a different computing device not associated withscreen reader usage may ignore the alternate text and merely display theimages.

In some instances, the description that follows may refer to FIGS. 34,35A, and 358 which illustrate an exemplary implementation for alteringwebsite code of a website to conform with a screen reader profile,consistent with some disclosed embodiments. FIGS. 34, 35A, and 35B areintended merely to facilitate the conceptualizing of one exemplaryimplementation for altering website code to conform with a screen readerprofile and does not limit the disclosure to any particularimplementation.

Some embodiments involve a non-transitory computer readable mediumcontaining instructions that when executed by at least one processorcause the at least one processor to perform operations for alteringwebsite code to conform with a screen reader profile. The term“non-transitory computer-readable medium” may include any medium capableof storing data in any memory in a way that may be read by any computingdevice with a processor to carry out methods or any other instructionsstored in the memory, as described earlier. The term “instructions” mayrefer to program code instructions (e.g., a first set of computer codeinstructions) that may be executed by a computer processor. Theinstructions may be written in any type of computer programminglanguage, such as an interpretive language (e.g., scripting languagessuch as HTML and JavaScript), a procedural or functional language (e.g.,C or Pascal that may be compiled for converting to executable code),object-oriented programming language (e.g., Java or Python), logicalprogramming language (e.g., Prolog or Answer Set Programming), or anyother programming language. In some embodiments, the instructions mayimplement methods associated with machine learning, deep learning,artificial intelligence, digital image processing, optimizationalgorithms, and any other computer processing technique. The term“website” may refer to any public, private, or semi-private web propertyincluding a collection of content to be presented to the public or to alimited audience, as described earlier. The term “website code” mayinclude software, firmware, and/or microcode, and may refer to programs,routines, functions, classes, data structures, and/or objects, asdescribed earlier. In other words, the website code may include a secondset of computer code instructions, different than the first set ofcomputer code instructions. Executing the website code on a computingdevice via a web browser application may render digital content of thewebsite on the computing device. The term “altering website code” mayrefer to adding, removing, editing, or modifying one or moreinstructions of the website code, a parameter, variable, and/or valuereferred to or used by the website code. For example, the first set ofcomputer code instructions may alter the website code such thatexecuting the altered website code via the web browser results in adifferent user experience than executing the original (e.g., unaltered)website code. The term “screen reader” may refer to a softwareapplication that translates textual and/or graphical informationdisplayed on a screen (e.g., visual media) and present it to a user asaudio media, e.g., using synthesized speech, as described earlier. Theterm “Screen Reader profile” may refer to a predefined set of parametersettings, instructions or definitions that may affect a user experiencevia a screen reader.

Thus, executing the first set of program code instructions (e.g., of thedisclosed embodiments) may cause alterations to a second set of programcode instructions (e.g., the website code). The alterations to thewebsite code may adapt the (e.g., original, unaltered) website code fora screen reader. For example, executing the original website code via aconventional web browser may cause a visual rendering of the content ofthe website, such as a visual presentation of images and/or text on acomputer display. While visual rendering of content may be suitable forvisually abled users, a visual format may be less suitable for usersassociated with a Screen Reader profile, such as blind users, visuallyimpaired users, or users having poor reception (e.g., in area of lowcommunications bandwidth). To accommodate users associated with theScreen Reader profile, the disclosed alterations to the website code mayfacilitate the screen reader in producing an audio rendering of thecontent of the website. For example, text content may be converted to anaudio format via a speech synthesizer configured with the screen reader.However, converting non-text content to an audio format, such as graphiccontent including images, may require additional processing, such asalterations to the website code, for example to add descriptive terms orphrases for the screen reader to recite.

By way of a non-limiting example, FIG. 34 illustrates an exemplaryinterface 3400 including an accessibility GUI 3402 presented with awebsite 3404 (e.g., a home page for the website). Accessibility GUI 3402may present multiple web accessibility profiles, each associated with adiffering disability and configured to adapt website 3404 for users withcorresponding disabilities. In particular, accessibility GUI 3402 mayinclude a Screen Reader profile 3406 configured to address needs ofusers benefiting from a screen reader when navigating website 3406. Forexample, website 3404 may include source code instructions (e.g., HTML,CSS and JavaScript) that when executed by processing device 210A (FIG.2) of computing device 170A (FIG. 1), may cause a visual rendering ofimages 3408, 3410, and 3412 on display 180A of computing device 170A.However, visually impaired user 110A may struggle to consume a visuallyrendering of images 3408, 3410, and 3412, and may thus benefit from anaudio rendering of images 3408, 3410, and 3412 via the screen reader.Selecting Screen Reader profile 3406 may cause an execution of asoftware application (e.g., computer code instructions) that modifies(e.g., makes alterations) the website code of website 3404 to enable anaudio rendering of images 3408, 3410, and 3412, and thereby cause thewebsite code to conform with screen reader profile 3406.

Some embodiments involve obtaining an indication of screen reader usageto navigate and consume website content on a specific device.“Obtaining” may occur in any manner where an indication is received in away that is detectable by or understandable to a processor. Anindication may include one or more of a signal, cue, communication,token, cookie, command, user input, or other information conveyingscreen reader usage. The term “navigate” may refer to the act ofproceeding or flowing from one section of web content (e.g., thenavigation source) to another (e.g., the navigation targe). Websitenavigation may begin from any website source and flow to any websitetarget. Thus, a user may navigate from one website to a differentwebsite, from a page of a website to a different page of the samewebsite, or from a section on a page of a website to a different sectionon the same page of the same website. Additionally, or alternatively,website navigation may begin from one software application (e.g., abrowser application) and proceed to a different software application(e.g., an email, messaging or phone client). Website navigation may beenabled via links displayed at the navigation source of a website. Thelink function may be a pointer that takes a user from the navigationsource to the navigation target upon selecting the link (e.g., via anelectronic mouse, keyboard press, electronic pen, touching atouch-sensitive screen, voice command, gesture or eye tracking, or anyother selection technique). Links may be defined in the website codeusing identifying labels or tags, for example within the HTML elements<a> and </a>, using the “href” attribute to define a hyperlink pointingto the navigation target. For example, the HTML instruction “<ahref=navigation target>LABEL</a>” may cause a web browser to display theword “LABEL” on the website, such that selecting the “LABEL” web elementcauses the web browser to display content referenced by the hyperlinkdefined by navigation target. The term “consume” may refer to acquiringwebsite content, for example by reading text content, seeing color,format, image and video content, hearing audio content, feeling tactilecontent via haptic interaction, and/or any other method of receivinginformation from a website. A screen reader may assist users facingchallenges in any of navigating and/or consuming website content, forexample due to reading disabilities or vision impairment. For example,to assist in website navigation, the screen reader may recite a textdescribing the content, context, subject, or purpose of the navigationtarget associated with a link on the website. Similarly, to assist auser in consuming content presented by a website, the screen reader mayrecite a text describing an image, a color, a position, a size, or aformat of content, or any other visual characteristic of the content.The screen reader may be invoked on the specific device of a particularuser to assist the particular user navigate and consume website contenton the specific computing device.

The indication of screen usage may be obtained for example upondetecting the installation of a screen reader on a computing deviceand/or in association with a particular user, upon invocation of thescreen reader on the computing device and/or in association with theuser, based on a history of previous screen reader usage on thecomputing device and/or in association with the user, based on a historyof queries associated with screen reader usage, or any other indicationof screen reader usage. For example, according to some embodiments,obtaining the indication of screen reader usage occurs based on inputfrom an accessibility graphical user interface (GUI) associated with thewebsite. The term “accessibility GUI” may refer to an interface thatallows users to customize website display parameters through graphicalelements or links, as described earlier. Upon selection of a ScreenReader profile of the accessibility GUI, an event listener associatedwith the Screen Reader profile may notify a processor (e.g., of thespecific device or a different computing device) of the selection,thereby obtaining an indication of screen reader usage to navigate andconsume website content on a specific device. The selection of theScreen Reader profile may be performed using any suitable inputinterface technique, such as via a keyboard, touch on a touch sensitivescreen, electronic mouse or pen, voice command, gesture recognition, eyetracking, and any other input interface method.

By way of a non-limiting example, turning to FIG. 34, accessibility GUI3402 may include Screen Reader profile 3406. Screen Reader profile 3406may adapt website 3404 for use with a screen reader assisting a user(e.g., user 110A of FIG. 1) in navigating and consuming the content ofwebsite 3404 on a specific device (e.g., computing device 170A), forexample by audibly presenting content of website 3404 that is otherwisepresented only visually. User 110A may select Screen Reader profile 3406using any suitable technique, such as by uttering a voice command into amicrophone configured with computing device 170A, typing on a braillekeyboard configured with input interface 240 (FIG. 2), or any otherinput technique. In the exemplary implementation shown in FIG. 34, theselection of Screen Reader profile 3406 is indicated by the “ON” statusof button 3414 of Screen Reader profile 3406. An event listener (e.g.,integrated with a web browser configured to display accessibility GUI3402 alongside website 3404) may detect the selection of Screen Readerprofile 3406 and notify processing device 210A (FIG. 2). Processingdevice 210A may thus obtain an indication of screen reader usage fornavigating and consuming website content, for example to allow visuallyimpaired user 110A to navigate website 3404 via links 3416 to 3428 andconsume the digital content of images 3408, 3410, 3412.

According to some embodiments, obtaining the indication of screen readerusage occurs based on detection of a predefined sequence of keystrokes.The term “predefined sequence of keystrokes” may refer to a particularorder of selections of keys of a keyboard interface configured with acomputing device, e.g., by pressing a mechanical keyboard (e.g., abraille keyboard), touching a keyboard displayed on a touch sensitivedisplay, selection of keys via gesture recognition, eye tracking, voicecommand, or any other key selection technique. For example, a particularsequence of keystrokes may be associated with opening a browsingapplication, e.g., to navigate and consume website content. Examples ofpredefined sequences of keystrokes include Ctrl+A (e.g., to save adocument), Ctrl C (e.g., to copy data to a clipboard in memory), andCtrl+V (e.g., to paste data copied to a clipboard in memory).Additionally, or alternatively, a particular sequence of keystrokes maybe associated with opening a website. The website may be a genericwebsite or a particular website assisting individuals who may benefitfrom improved website accessibility (e.g., to navigate and consumewebsite content). As another example, a particular sequence ofkeystrokes may be defined in advance (e.g., as a keyboard shortcut) toinvoke a screen reader on a computing device, e.g., via an accessibilityoption of a settings menu for the computing device. The predefinedsequence of keystrokes may be stored in a memory (e.g., associated witha local or remote computing device) to allow comparing a detectedsequence of keystrokes with the predefined sequence and the indicationof screen reader usage may be obtained based on the comparison.

By way of a non-limiting example, processing device 210A (FIG. 2) ofcomputing device 170A (FIG. 1) may detect a sequence of key selectionsby user 110A on a braille keyboard configured with input interface 240,for example to display website 3404 (FIG. 34). Processing device 210A ofcomputing device 170A may compare the detected sequence with apredefined sequence of keystrokes associated with screen reader usageand stored in memory device 220A. Based on the comparison, processingdevice 210A may determine that the detected sequence matches thepredefined sequence retrieved from memory device 220A, thereby obtainingthe indication of screen reader usage.

According to some embodiments, obtaining the indication of screen readerusage occurs based on detection of a voice command. For example, thevoice command may be received via a microphone and voice-user interface(VUI) configured on a computing device. The VUI may include voicerecognition software to discern words or terms for invoking a screenreader. For example, a particular expression (e.g., including one ormore words and/or commands) may be associated with opening a browsingapplication, (e.g., to navigate and consume website content), withopening a website (e.g., a generic website or a particular websiteassisting individuals benefiting from improved website accessibility),with invoking a screen reader, or with any other indication of screenreader usage. The particular expression may be stored in a memory (e.g.,associated with a local or remote computing device) to allow comparing adetected expression (e.g., via the VUI) with the particular expressionto thereby obtain the indication of screen reader usage.

By way of a non-limiting example, processing device 210A (FIG. 2) ofcomputing device 170A (FIG. 1) may detect a voice command (e.g., “screenreader”) via a microphone configured with input interface 240.Processing device 210A may analyze the voice command via a VUIconfigured with computing device 170A and determine a request to invokea screen reader, thereby obtaining an indication for screen readerusage.

According to some embodiments, obtaining the indication of screen readerusage occurs based on data retrieved from the computing device. Forexample, installation of a screen reader in a memory of a computingdevice may indicate screen reader usage. Upon opening a browser orwebsite on a computing device, the browser and/or website may query thememory of the computing device to detect installation of the screenreader. The response to the query (e.g., data retrieved from thecomputing device) may indicate screen reader usage. As another example,a history or pattern of prior screen reader usage may be stored in amemory of the computing device. The prior screen reader usage may beassociated with a history (e.g., a browsing history) associated with thecomputing device, and/or with a specific account or specific user. Whena session is initiated on the computing device (e.g., via a browser),the history (e.g., data) may be retrieved from the memory of thecomputing device to determine the prior screen reader usage, therebyobtaining the indication.

By way of a non-limiting example, processing device 210A (FIG. 2) ofcomputing device 170A (FIG. 1) may store in memory device 220A a screenreader application, e.g., in association with user 110A. When user 110Ainitiates a session on computing device 170A (e.g., a browsing session),processing device 210A may identify user 110A in association with thescreen reader application stored in local memory device 220A, therebyobtaining the indication.

According to some embodiments, obtaining the indication of screen readerusage occurs based on data retrieved from a remote server. For example,a history or pattern of prior screen reader usage may be stored at acloud storage facility associated with a remote server. The prior screenreader usage may be associated with a previous session (e.g., a browsinghistory) of a specific user, a specific account, and/or a specificcomputing device. When a new session (e.g., browsing session) isinitiated, the history (e.g., data) may be retrieved from the remoteserver to determine the prior screen reader usage, thereby obtaining theindication. According to some embodiments, the remote server may be anaccessibility server configured to facilitate accessibility to consumecontent and navigate websites.

By way of a non-limiting example, a history of screen reader usageassociated with user 110A (FIG. 1) may be stored at data structure 136of accessibility host 130 via network 140. When user 110A initiates asession (e.g., on computing device 170A), server 133 of accessibilityhost 130 may identify user 110A and retrieve the history of screenreader usage (e.g., data) from data structure 136. Server 133 ofaccessibility host 130 may provide the data as an indication of screenreader usage to processing device 210A of computing device 170A vianetwork 140. For example, based on the indication, if computing device170A does not have a screen reader installed, processing device 210A mayautomatically install a screen reader on computing device 170A for user110A.

Some embodiments involve, based on the obtained indication, implementinga predefined template to make multiple changes to the website code toconform with accessibility needs. The term “predefine template” mayrefer to one or more of a series of changes defined in advance to adaptone or more websites to accommodates needs of a specific disability in amanner that is uniform and consistent across multiple pages of a singlewebsite or multiple websites. Implementing the predefined template mayprovide multiple benefits. For example, the predefined template mayfacilitate in automating the accommodation of web content for a specificdisability, allowing to universally accommodate many webpages and/orwebsite. In addition, the predefined template may ensure that theaccommodations are applied consistently and uniformly, allowing disabledusers to adapt to the accommodations easily and efficiently. In someembodiments the predefined template may be implemented across a bundleof webpages and/or websites. For example, the template may beimplemented across multiple webpages included in a single website (e.g.,under the same domain address) or linked to another website (e.g.,associated with a different domain address), and navigable from eachother via links included therein. Implementing the template across anentire bundle of linked webpages may facilitate a user in webnavigation. The term “make multiple changes to the website code” mayrefer to adding, removing, editing, and/or modifying one or moreinstructions of the website code, or one or more parameters, variables,or values referred to or used by the website code. The changes may bemade to any portion of the website code, such as to a main section, afunction, a procedure, a declaration, a definition, a reference (e.g.,to an internal or external library), metadata associated with thewebsite code, comments associated with the website code, a CSS, HTML,JavaScript, Java or Python file associated with the website code, and/orany other piece of information that may affect the rendering of thewebsite content via the web browser on a specific device. The term“conform with accessibility needs” may refer to accommodating thewebsite code to suit needs associated with a specific accessibilityprofile, for example, by ensuring that the website code allows a userassociated with the screen reader profile to navigate and consume anycontent of the website. Thus, the multiple changes to the website codemay allow the screen reader to audibly present visual content, and toaudibly present information (e.g., topic, content, context, purpose,role) about the navigation targets associated with any links of thewebsite.

By way of a non-limiting example, turning to FIG. 35A, an interface 3500is shown displaying website 3404 of FIG. 34 and a corresponding sourcecode window 3502 for website 3404. Source code window 3502 contains(e.g., at least) elements 3504, 3506, 3508 (e.g., website code) fordisplaying images 3408, 3410, and 3412, respectively, and element 3510for displaying link 3416 on website 3404. Elements 3504, 3506, and 3508include location information for retrieving images 3408, 3410, and 3412,e.g., to visually render images 3408, 3410, and 3412, e.g., on display180A of device 170A for user 110A (FIG. 1) but lack descriptive textthat may be recited by a screen reader to allow visually impaired user110A to consume the visual content of images 3408, 3410, and 3412 asaudio content. Similarly, element 3510 includes a hyperlink to allownavigating to a different webpage from the homepage of website 3404(e.g., by selecting link 3416) but lacks descriptive text that may berecited by a screen reader to assist user 110A in deciding if contentpresented via the navigation target associated with link 3416 isrelevant. Thus, visually impaired, user 110A may fail to fully navigateand consume the content of website 3504, e.g., rendered according toelements 3504, 3506, 3508, and 3510. To facilitate user 110A innavigating and consuming the content of website 3404, processing device210A (FIG. 2) of computing device 170A may make changes to the websitecode according to the predefined template. For example, the predefinedtemplate may call for the addition of descriptive text to elements 3504,3506, 3508, 3510, e.g., inside an “alt” attribute, to conform with theaccessibility needs of visually impaired users. For example, the addedtext may allow user 110A to consume the visual content of images 3408,3410, and 3412 as audio content, and may further allow user 110A todecide if to navigate to another webpage via link 3416.

According to some embodiments, implementing the predefined templateincludes identifying in the website code a plurality of elementscorresponding to multiple objects displayed on the website. The term“elements” may refer to any content defined in the website code, e.g.,for presenting on a website. For example, an HTML document may definemultiple web elements delineated between a start tag (e.g., “<tag>”) andan end tag (e.g., “</tag>”). Each web element may be associated with anobject of the website, and may defined characteristics for rendering theobject, such as display characteristics, audio characteristics, hapticcharacteristics, and any other characteristic of the element.Identifying elements may occur in any manner resulting in recognition ofassociated objects. The template itself may be implemented by runningcode associated with the predefined template. The term “objectsdisplayed on the website” may refer to content presented on the websitecorresponding to each element, for example links, images, tables,paragraphs, forms, fields, text boxes, buttons, video, menus, pop-upwindows, lists, regions of a webpage or website, margins, and/or anyother content that may be presented via the website. The website codemay define elements, such that when a web browser executes (orinterprets) the element, the object corresponding to the element ispresented according to element definition. For example, the website codemay include an element (e.g., HTML source code element) for a navigationlink (e.g., a corresponding object). The element may be identifiable(e.g., via a parser) as corresponding to a navigation link object by the<a> and </a> tags surrounding the HTML element definition (e.g., asopposed to a different type of object, such as an image). The HTMLelement definition may include characteristics for presenting the object(e.g., position, format, size, color, shape, accompanying text,highlight, select status), e.g., via the web browser. As anotherexample, the website code may include an HTML source code element todisplay an image object on the website. The element may be identifiableas corresponding to an image object by the <img src=“ . . . ,”> tagincluded in the HTML element definition. Thus, to conform the websitecode to accessibility needs, web elements (e.g., in the website code)corresponding to objects presented by the website, may be identified. Itis to be noted that the HTML examples given are intended merely toconceptualize elements and corresponding objects and do not limit thedisclosure to any specific implementation. For example, elements may bedefined using other languages, such as XML, JavaScript, Java Applets,Java, Objective-J, PHP, Adobe Flash, or any other language orspecification for defining elements.

By way of a non-limiting example, FIG. 35A illustrates elements 3504,3506, 3508 (e.g., HTML image definitions) corresponding to images 3408,3410, and 3412 (e.g., image objects), respectively, and element 3510(e.g., HTML link definition) corresponding to link 3416 (e.g., a linkobject) of website 3404. For example, image 3408 may visually present atesting swab, image 3410 may present a testing strip, and image 3412 maypresent a vial containing liquid for performing a rapid Covid-19testing, and link 3416 may allow navigating to a different webpage orwebsite to obtain additional information about Covid-19 testing. Aparser configured with a software application executed by processingdevice 210A (FIG.2) may scan the website code for website 3404 andidentify elements 3504, 3506, 3508 as corresponding to images 3408,3410, and 3412, respectively, e.g., by the <img src=“ . . . ,”> tagincluded in the element definition. The parser may additionally identifyelement 3510 as corresponding to link 3416, e.g., by the <a> and </a>tags included in the element definition. In this manner, processingdevice 110A may identify multiple elements (e.g., HTML elements)corresponding to multiple object (e.g., images and links) displayed onwebsite 3404.

According to some embodiments, implementing the predefined templateincludes determining accessibility information for at least some of themultiple objects displayed on the website. The term “accessibilityinformation” may refer to descriptive terms, words, labels, tags, orphrases associated with one or more objects presented by a website. Forexample, accessibility information associated with visual content, suchas an image object, may be used by a screen reader to substitute avisual presentation of the visual content with an audible presentation.The audible presentation of visual content may make a website moreaccessible, such as visually impaired users, or users who choose to turnoff the display of image content, for example due to low communicationbandwidth (e.g., to allow a webpage to load faster) or to address otherdisabilities (e.g., AHDH, epilepsy, seizure). As another example,accessibility information may facilitate in rendering elements thatserve a function but are not tagged as such, such as a text displayed asa title but not tagged as a title, or an actionable object (e.g., aclickable button) not tagged as an actionable object, as describedearlier. For example, accessibility information may be included in anelement as alternative text, for example via the HTML tag “alt.” Thus,after identifying elements in the website code corresponding to multipleobjects of the website, a parser may further analyze each identifiedelement to determine if accompanying accessibility information isincluded in the definition for the element.

By way of a non-limiting example, FIG. 35A illustrates an exemplary ofimplementation for determining accessibility information for objectsdisplayed on a website, consistent with some disclosed embodiments. Forexample, upon identifying elements 3504, 3506, 3508 and 3510corresponding to images 3408, 3410, and 3412, and link 3416respectively, processing device 210A (FIG.2) may further analyzeelements 3504, 3506, 3508 and 3510 to identify any descriptive textinclude in therein that may be used to determine the accessibilityinformation. For example, elements 3504, 3506, 3508 and 3510 lackalternative text (e.g., as an “alt” tag followed by one or more terms,words, or phrases for recitation by a screen reader). Processing device210A may thus determine that the accessibility of website 3404 may beimproved for use with a screen reader. To remedy this, processing device110A may determine accessibility information for each of elements 3504,3506, 3508 and 3510, e.g., to include as alternate text for recitationby the screen reader. The accessibility information may assist user 110Ain consuming the content of images 3408, 3410, and 3412, and innavigating to a different website or webpage via link 3416, therebyimproving the accessibility of website 3404 for user 110A. Processingdevice 210A may determine accessibility information using any suitabletechnique, such as by performing a textual analysis of the website codeof website 3404, for example by analyzing source code instructions,metadata, tags, labels, comments, descriptive terms (e.g., for use by asearch engine), prominently displayed text, such as headings, links, ortitles, and any other textual analysis for determining accessibilityinformation. For example, elements 3504, 3506, 3508 and 3510 includedescriptive file names for images 3408, 3410, and 3412, respectively,such as “testing swab” for image 3408 (e.g., illustrating a testingswab), “test strip” for image 3410 (e.g., illustrating a test strip),and “testing vial” for image 3412 (e.g., illustrating a vial containingliquid) that may be used to determine accessibility information.Additionally, or alternatively processing device 210A may retrieve andanalyze images 3408, 3410, and 3412 (e.g., via an image processing orpattern recognition algorithm) to determine accessibility information.Additionally, or alternatively processing device 210A may analyze textdisplayed in proximity to images 3408, 3410, and 3412. Similarly,processor 210A may analyze element 3510 to determine accessibilityinformation for link 3416, such as the name of the icon (e.g.,“info-icon”) referenced in link 3416, and/or any text displayed inproximity to link 3416.

According to some embodiments, implementing the predefined templateincludes updating the website code based on the determined accessibilityinformation. The term “updating the website code” may refer to adding,removing, modifying, or otherwise changing the website code. Forexample, the website code may be updated such that executing (orinterpreting) the updated website code (e.g., via a web browser) mayproduce a different user experience, such as a different rendering orpresentation of the content of the website. Thus, the determinedaccessibility information may be used to modify the website code suchthat executing (or interpreting) the modified (e.g., updated) websitecode causes a different rendering of the content of the website to makethe website more accessible. For example, executing the updated websitecode on a computing device configured with a screen reader may producean audible presentation of visual content that was not producible viathe original (e.g., not updated) website code.

By way of a non-limiting example, FIGS. 35A-35B illustrates an exemplaryof implementation of updating website code based on the determinedaccessibility information, consistent with some disclosed embodiments.Upon determining accessibility information for website 3404, for example“testing swab” of element 3504 corresponding to image 3408, “test strip”of element 3506 corresponding to for image 3410, “testing vial” ofelement 3508 corresponding to image 3412, and “info-icon” of element3510 corresponding to link 3416, together with prominent keywords, suchas “Covid-19” and “testing” appearing twice in title 3418, processingdevice 210A may update website 3404 based on the determinedaccessibility information. Thus, processing device 210A may generatealterative text for elements 3504, 3506, 3508 and 3510, (e.g., based onthe template) to generate updated elements 3514, 3516, 3518 and 3520,respectively. Thus, updated element 3514 may include alternative text“nasal testing swab for obtaining a test sample” corresponding to image3408 of a testing swab; updated element 3516 may include alternativetext “test strip for determining infection” corresponding to image 3410of a test strip; updated element 3518 may include alternative text “vialcontaining liquid for at-home testing” corresponding to image 3412 of atesting vial; and updated element 3520 may include alternative text“Learn more about Covid testing” corresponding to link 3416. Accordingto some embodiments, processing device 210A may store the updatedwebsite code at website host 120 such that the updated website code maybe subsequently served to multiple users, such as via any of computingdevices 170A, 170B, and 170C for users 110A, 110B, and 110C,respectively.

According to some embodiments, processor 210A may navigate (e.g., via aweb crawler) to the navigation targeted referenced by link 3416 andsimilarly update the website code for the navigation target to make thecontent provided by the navigation target similarly accessible.

According to some embodiments, updating the website code changes anaudible presentation of the website via the screen reader on thespecific device without impacting simultaneous display of the websitecontent on other computing devices. The term “audible presentation” mayrefer to a rendering of audio content, e.g., via a speaker. For example,audio content such as sound alerts, music, and speech may be audiblypresented to a user via a speaker. As another example, a screen readermay produce an audible presentation of non-audio content (e.g., visualcontent such as text and images) by reciting alternative text describingthe non-audio content via speaker. The term “simultaneous display of thewebsite content on other computing devices” may refer to a concurrentserving (e.g., by a website host) and display (e.g., via a browserapplication) of the website content on multiple computing devices via acommunications network. Thus, multiple computing devices (e.g., locatedin multiple separate locations) may access the content of the website atthe same time, for example by simultaneously retrieving the website codefrom the website host and executing the website code locally. The term“without impacting the simultaneous display of the website content” mayrefer to the updated code not affecting a concurrent display of thewebsite content on computing devices not associated with screen readerusage, such that a user viewing the website content on a computingdevice that has not invoked the screen reader may be indifferent to theupdating. Thus, the updated website code may simultaneously executedifferently on different devices, depending on screen reader usage. Forexample, executing the updated website code on a first computing devicethat has invoked the screen reader (e.g., in response to selecting aScreen Reader profile) may produce an audible presentation of visualcontent. However, simultaneously executing the updated website code on asecond computing device that has not invoked the screen reader maydisplay the visual content and result in a substantially similar userexperience as executing the original website code (e.g., beforeimplementing the updates via the template).

By way of a non-limiting example, users 110A and 110B (shown in FIG. 1)may simultaneously request to access the content of website 3404 (shownin FIG. 34). In response to the requests, website host 120 maysimultaneously serve via network 140 the updated website code forwebsite 3404 to each of computing devices 170A and 170B (correspondingto users 110A and 1108, respectively), where the updated website codeincludes updated elements 3514, 3516, 3518 and 3520 corresponding toimages 3408, 3410, 3412, and link 3416, respectively. Computing devices170A and 170B may each simultaneously execute the website code toprovide the content of website to users 110A and 1108, respectively.However, user 110A may have selected Screen Reader profile 3406 (e.g.,associated with screen reader usage) to invoke a screen readerconfigured with computing device 170A, whereas user 110B may not haveselected any accessibility profile at all, and thus has not invoked ascreen reader. A browser configured with computing device 170A mayinterpret updated elements 3514, 3516, 3518 and 3520 and notify thescreen reader of the alternative text included therein. Accordingly, therendering of website 3404 on computing device 170A may include anaudible description via recitation of the alternative text for images3408, 3410, 3412, and link 3416 to user 110A. However, concurrent withthe rendering of website 3404 on computing device 170A (e.g., includingthe audible presentation of images 3408, 3410, 3412, and link 3416), abrowser configured with computing device 170B may execute and/orinterpret updated elements 3514, 3516, 3518 and 3520 to display website3404 with only a visual representation of images 3408, 3410, 3412, andlink 3416 in a manner that is substantially similar to the display ofimages 3408, 3410, 3412, and link 3416 on computing device 170A usingthe original website code (e.g., before implementing the updates). Thus,user 110E may be indifferent to the updates made to the website code,and the audible presentation of images 3408, 3410, 3412, and link 3416on computing device 110A may not impact the simultaneous visualpresentation of images 3408, 3410, 3412, and link 3416 on computingdevice 110B.

According to some embodiments, the operations further include usingartificial intelligence (AI) to identify in the website code theplurality of elements and applying a plurality of rules for updating thewebsite code. The term “artificial intelligence” may include one or moremachine (e.g., computer) processes based on rationality or reasoning.The processes may include reasoned decision making, knowledgerepresentation, planning, learning, natural language processing,perception, and the manipulation of objects (e.g., robotics). AItechniques may include optimization algorithms and heuristics, formallogic, neural networks, statistical and probabilistic methods, andapplications from economics, psychology, linguistics, mathematics, andphilosophy. The term “rules” may include inference rules, reasoningrules, logical rules, rules targeting optimization, rules targetingefficiency, and any other rules that may facilitate in automating theupdating of website code (e.g., via a machine). Thus, AI techniques maybe applied to facilitate in identifying the elements of the websitecode, and additionally to determine rules to automatically modify (e.g.,update) the website code to accommodate accessibility needs associatedwith screen reader usage. In some embodiments, one or more of the AItechniques (e.g., for detecting the elements and/or updating the websitecode) may be applied by a dedicated computing device, such as an AIserver accessible via a network. In some embodiments, one or more of theAI techniques (e.g., for detecting the elements and/or updating thewebsite code) may be applied by a local computing device, e.g.,displaying a website to a user.

By way of a non-limiting example, server 133 of accessibility servicehost 130 (FIG. 1) may include hardware and software for performing AIoperations to analyze website code. When user 110A requests to openwebsite 3404 (FIG. 34) on computing device 110A, processor 210A ofcomputing device 110A may notify server 133 of the request via network140. In response to the notification, server 133 may retrieve thewebsite code of website 3404 from website host 120 via network 140, andperform one or more AI operations to identify elements 3504, 3506, 3508,and 3510 (FIG. 35) of the website code of website 3404. Server 144 mayapply one or more rules, such as inference rules, to update the websitecode and convert elements 3504, 3506, 3508, and 3510 to updated elements3514, 3516, 3518, and 3520, respectively.

According to some embodiments, the operations further include usingimage processing and a neural network to identify contextual informationreflective of a purpose of each of the plurality of elements and usingthe contextual information to determine the accessibility information.The term “image processing” may include the application of mathematicalconvolutions, Fourier transforms, statistical correlations, edgedetection, pattern recognition, color analysis, and any other computingtechnique to analyze digital images. The term “contextual information”may include information relating one or more pixels or clusters ofpixels (e.g., a neighborhood of pixels, or a pattern formed by pixels)in a digital image with other pixels or clusters of pixels, either inthe same digital image, a different digital image, or in a database ofpixel clusters. The relation between the pixels or clusters thereof maybe based on spatial and/or spectral (e.g., color) information,statistical correlation, Bayesian dependency, and/or any other techniqueto determine a relationship between one or more pixels or clusters ofpixels. Additionally, or alternatively, the contextual information mayinclude information associated with text displayed prominently in awebsite, in proximity to one or more images, in the metadata of thewebsite, or any other text that may be associated with images displayedon a website. A “neural network” may refer to a connected mesh (e.g.,network) of artificial neurons (e.g., digitally synthesized neuronunits) intended to mimic the interconnectivity of neurons in abiological brain (e.g., human or other). The processing performed by theaggregate of the neurons in a neural network may mimic a learningprocess for artificial intelligence, for example by determiningrelationships and associations between images, text, and any othercontent of the website. Thus, visual content (e.g., images) associatedwith the identified elements of the website code may be retrieved (e.g.,via addresses or locations included in the identified elements) andundergo image processing techniques and/or analysis by a neural networkto determine contextual information. The contextual information may beused to determine a meaning, objective, or function for each of theelements, for example in conveying the website content for consumptionby a user. The contextual information may thus reflect a purpose of eachof the identified elements, for example in conveying the websitecontent. The contextual information may be used to determine theaccessibility information, e.g., to facilitate the conveying of thewebsite content to users associated with screen reader usage.

By way of a non-limiting example, when upon receiving a request fromuser 110A (FIG. 1) to open website 3404 (FIG. 34), server 133 (FIG. 1)of accessibility host 130 may retrieve from website host 120 images3408, 3410, and 3410 referenced via elements 3514, 3516, and 3518,respectively, of the website code for website 3404. Similarly, server133 may retrieve from website host 120 the icon displayed with link 3416and referenced by element 3520 of the website code for website 3404.Server 133 may use a neural network and one or more image processingtechniques on the retrieved images and icon to identify contextualinformation. For example, the image processing may associate image 3408with a testing swab, image 3410 with a test strip, and image 3412 with avial of liquid (e.g., contextual information). The neural network maydetermine that images 3408, 3410, and 3412 are intended to illustratethe components included in a rapid test for Covid-19, for example basedon a textual analysis of website 3440 (e.g., a purpose of each element).Similarly, image processing may associate the icon of link 3416 with aninformation sign (e.g., contextual information) and the neural networkmay determine that the icon of link 3416 navigates to a webpage orwebsite providing additional information about rapid testing forCovid-19 (e.g., the purpose of the element). Server 133 may use theidentified contextual information and purpose of the elements todetermine accessibility information for each, to allow a screen readerto audibly convey the visual content of images 3408, 3410, 3412 and link3416 to user 110A.

According to some embodiments, the determined accessibility informationincludes at least one Accessible Rich Internet Applications (ARIA)attribute for at least one element in the website code. The term “ARIA”may refer to a standardized set of roles, states, or attributes that maybe defined to make web content and applications more accessible, e.g.,to people with disabilities, as described earlier. Thus, for at leastone of the identified elements in the website code, the determinedaccessibility information may include an attribute that complies with atechnical specification associated with an ARIA set of standards. Forexample, the at least one ARIA attribute includes at least one of arole, a state, or a property for the at least one element in the websitecode. For example, the ARIA role may define a purpose of a web element(e.g., a checkbox, menu, header, navigation), an ARIA state may define acurrent mode of an interactive web element (e.g., selected, hidden,highlighted), and an ARIA property may define the relationship of a webelement with other web elements of the website (e.g., descendant,labelled by). ARIA attributes may be defined in a standardized mannerthat may be executed or interpreted uniformly across a variety ofbrowser applications.

By way of a non-limiting example, FIG. 35B illustrates an exemplaryimplementation of an element in the website code for website 3404including an ARIA attribute. Updated element 3520 corresponding to link3516 includes an ARIA attribute for the role of element 3520 as anavigation link (e.g., role=“navigation”). A screen reader configuredwith computing device 170A (FIG. 1) may user the ARIA attribute toaudibly present element 3520 to user 110A.

According to some embodiments, the determined accessibility informationincludes description of images depicted on the website. The term“description of images” may refer to terms, words or expressions thatreplicate or characterize visual information embedded in an image, forexample to allow expressing the visual information via a non-visualmedium, such as words expressed by a screen reader, or sounds expressedvia a speaker. For example, the description may include colors, sizes,proportions, contexts, and positions of features included in the image(e.g., a large shiny ball held by a small child), and relationshipsbetween the different features of the image (e.g., girl picking aflower), actions or movement conveyed in the image (e.g., large furrydog running down a hill), sounds alluded to in the image (e.g., lightingcracking the sky), textures expressed in the image (e.g., ragged rockoverhanging a smooth surface of a lake), and any other description thatmay express visual information of the image using a non-visual media.According to some embodiments, the description of images depicted on thewebsite contains information directed to the blind to thereby describeimages in words. For example, the description may tell a story ornarrative in words that corresponds to the story or narrative toldvisually by the image allowing a blind person to understand theinformation in the image without seeing the image. For example, a webelement for an image of a dog jumping to greet a child may include thedescription “dog jumping to greet child.” A blind user wishing toconsume the content of the image may receive an audible description ofthe image via a screen reader reciting the accessibility informationadded to the web element for the image. As another example, a webelement for a navigation link for receiving additional information aboutdogs may include the description “select this to learn more about dogs.”A visually impaired user wishing to learn more about dogs may beassisted in navigating via the link using a screen reader reciting thedescription added to the web element as accessibility information.

By way of a non-limiting example, elements 3514, 3516, and 3518 of FIG.35B include the descriptive phrases “nasal testing swab for obtaining atest sample”, “test strip for determining infection”, and “vialcontaining liquid for at-home testing”, corresponding to images 3408,3410, and 3412, respectively. User 110A (FIG. 1), who is visuallyimpaired, wishing to consume the visual content of images 3408, 3410,and 3412 may use a screen reader to recite the respective descriptivephrases to consume the visual content as audio content.

According to some embodiments, the determined accessibility informationincludes screen reader text to assist in performing one or more actionsavailable on the website. For example, a website may include one or moreactive elements allowing users to interact with the website, such asnavigation links (e.g., for navigating to a different location on thewebpage or to a different webpage or website), buttons, menus,checkboxes, and fields for providing input to the website or receiving aresponse from the website, and any other web element allowing tointeract with the website. A non-visually impaired user may interactwith the website by targeting the position on a computer display wherean interactive element is displayed. For example, a button may beselected by touching a touch-sensitive screen at the location where thebutton is displayed. However, a visually impaired user may facedifficulty in locating the element for the purpose of interacting withthe website and may thus be assisted by the screen reader for thispurpose. Accordingly, the accessibility information may include textdirected to the screen reader (e.g., screen reader text) that allows theuser to target one or more elements of the website for the purpose ofinteracting with the website. The screen reader text may be indicated byan “alt” tag. The accessibility information may thus include descriptivewords, terms, or phrases to explain the interactive capability for a webelement, e.g., to allow visually impaired or blind users to perform oneor more actions available on the website, and thereby interact with thewebsite. For example, a website for a clothing outlet may include abutton to add a size large cotton sweater to a shopping cart. A visuallyabled user may add the sweater to her shopping cart by clicking thelocation of the screen where the button is displayed via an electronicmouse. To assist a visually impaired user who cannot locate the buttonon the screen, the accessibility information for the button may includescreen reader text that causes the screen reader to recite (“if you wantto add a size large cotton sweater to your shopping cart, please sayYES, otherwise say NO”). When the visually impaired user answers YES(e.g., via a microphone), the sweater may be added to the visuallyimpaired user's shopping cart.

By way of a non-limiting example, element 3520 (FIG. 35B) of the websitecode for website 3404, corresponding to link 3416 includes theattributes ‘alt=“Learn more about Covid testing”’, and‘role=“navigation”. A screen reader assisting user 110A (FIG. 1) tonavigate website 3404 may recite the text included inside the ‘alt’ and‘role’ attributes to facilitate user 110A in navigating website 3404.

FIGS. 36A-36B, together, illustrates a block diagram of exampleprocesses 3600 and 3610, respectively, for altering website code toconform with a screen reader profile, consistent with embodiments of thepresent disclosure. In some embodiments, processes 3600 and 3610 may beperformed by at least one processor (e.g., processing device 210A ofcomputing device 170, shown in FIG. 2) to perform operations orfunctions described herein. In some embodiments, some aspects ofprocesses 3600 and 3610 may be implemented as software (e.g., programcodes or instructions) that are stored in a memory (e.g., memory device220A of computing device 170, shown in FIG. 2) or a non-transitorycomputer readable medium. In some embodiments, some aspects of processes3600 and 3610 may be implemented as hardware (e.g., a specific-purposecircuit). In some embodiments, process 3600 and 3610 may be implementedas a combination of software and hardware.

Referring to FIG. 36A, process 3600 may include a step 3602 where anindication of screen reader usage to navigate and consume websitecontent on a specific device may be obtained. For example, the screenreader usage may be based on invoking a screen reader during a currentbrowsing session, a history of previous screen reader usage (e.g.,associated with a specific user and/or a specific device), a searchhistory for screen reader use, a selection of a Screen Reader profilefrom an accessibility GUI, or any other indication of screen readerusage. The screen reader usage may be associated with a visuallyimpaired user, a visually sensitive user, a blind user, a user havingpoor reception or low bandwidth, or any other reason for screen readerusage.

For example, and as described earlier, turning to FIG. 34, user 110A(FIG. 1) may select Screen Reader profile 3406 of accessibility GUI 3402to navigate and consume content of website 3404 displayed via a browseron computing device 170A. An event listener configured with the browsermay detect the selection and notify processing device 210A (FIG. 2) ofcomputing device 170A. Processing device 210A may notify server 133 ofaccessibility host 130 via network 140, thereby obtaining theindication.

Process 3600 may include a step 3604 where, based on the obtainedindication, a predefined template may be implemented to make multiplechanges to the website code to conform with accessibility needs. Forexample, the template may be retrieved from a memory associated with anaccessibility service host. The template may define updates that may bemade to website code in a uniform and universal manner, e.g., to ensureconsistent updates across multiple webpages and/or websites. The updatesmay be defined to accommodate the needs of a disability associated witha specific disability profile (e.g., a Screen Reader profile). In someembodiments, the template may include a directive to apply the templateto the website code of any website and/or webpage navigable from thewebsite.

For example, and as described earlier, turning to FIG. 35B, server 133of accessibility host 130 may retrieve the website code for website 3404from website host 120 via network 140. Server 133 may implement apredefined template (e.g., stored at data structure 136) to makemultiple changes to the website code for website 3404 to conform withaccessibility needs, e.g., associated with screen reader usage. Forexample, server 133 may modify elements 3504, 3506, 3508, and 3510 ofthe website code for website 3404, corresponding to objects 3408, 3410,3412 and 3416, respectively, displayed on website 3404, to produceupdated elements 3514, 3516, 3518, and 3520, respectively, Updatedelements 3514, 3516, 3518, and 3520 still correspond to objects 3408,3410, 3412 and 3416, respectively displayed on website 3404, andadditionally include descriptive text to conform with accessibilityneeds associated with screen reader usage.

Referring to FIG. 36B, process 3610 may include a step 3612 whereimplementing the predefined template may include: identifying in thewebsite code a plurality of elements corresponding to multiple objectsdisplayed on the website. For example, a parser may scan the websitecode (e.g., including metadata, and/or comments embedded therein) of thewebsite, or may scan website code of pages and/or website navigable fromthe website for words, terms or phrases that may identify elementscorresponding to objects. Additionally, or alternatively, techniquessuch as artificial intelligence, deep learning, machine learning may beapplied (e.g., to the website code for the website or another webpage orwebsite navigable from the website) to identify the elements of thewebsite code. For example, a website code definition for a button, aheader and a link may be identified by a parser corresponding to button,header and links objects displayed on the website.

For example, and as described earlier, turning to FIG. 35B, implementingthe predefine template may cause server 133 of accessibility host 130(FIG. 1) to analyze the website code for website 3404 and identifyelements 3504, 3506, 3508, and 3510, corresponding to objects 3408,3410, 3412 and 3416, respectively, displayed on website 3404.

Process 3600 may include a step 3614 where implementing the predefinedtemplate may include: determining accessibility information for at leastsome of the multiple objects displayed on the website. For example, aparser may scan the website code of an element identified earlier (e.g.,corresponding to an object on the website) or an element related to theelement identified earlier, for terms, phrases, or words that mayidentify accessibility information associated with the object.Additionally, or alternatively, techniques such as artificialintelligence, deep learning, machine learning, image processing (e.g.,pattern recognition, edge recognition, clustering) may be applied (e.g.,to the website code for the website or another webpage or websitenavigable from the website) to identify accessibility informationassociated with the object. For example, an element in the website codefor a button may include the text “Learn More about Covid-19” fordisplaying on the button object on the website, and the text may be usedas contextual information. As another example, a button element in thewebsite code may include no descriptive text, but a paragraph element inthe website code displayed adjacent to the button may include the text“Learn More about Covid-19”. The text displayed adjacent to the buttonmay be used as contextual information for the button.

For example, and as described earlier, turning to FIG. 35B, implementingthe predefine template may cause server 133 of accessibility host 130(FIG.1) to determine accessibility information for objects 3408, 3410,3412 and 3416 displayed on website 3404. The accessibility informationmay be determined using any suitable technique, such as artificialintelligence, machine learning, digital image processing, and any othertechnique for determining accessibility information.

Process 3600 may include a step 3616 where implementing the predefinedtemplate may include: updating the website code based on the determinedaccessibility information. Consistent with some embodiments, updatingthe website code may change an audible presentation of the website viathe screen reader on the specific device without impacting simultaneousdisplay of the website content on other computing devices. For example,the updates to the website code may add descriptive text for recitationby a screen reader and/or sounds that may be played by a speaker andthereby change the audible presentation of the website. The updates maybe made to the website such that the updates may be relevant only to ascreen reader and may be ignored when rendering the website on acomputing device that does not have a screen reader invoked or installedthereon. Thus, rendering of the website on a first device with a screenreader may not affect a simultaneous rendering of the website on asecond device without a screen reader.

For example, and as described earlier, turning to FIG. 35B, implementingthe predefine template may cause server 133 of accessibility host 130(FIG.1) to update elements 3504, 3506, 3508, and 3510 of the websitecode for website 3404 based on the accessibility information determinedabove, and produce updated elements 3514, 3516, 3518, and 3520correspond to objects 3408, 3410, 3412 and 3416, respectively, displayedon website 3404. The updated website code for website 3404 may bereceived via network 140 by computing device 170A (FIG. 1). Computingdevice 170A may invoke a screen reader in response to user 110Aselecting Screen Reader Profile 3406 of accessibility GUI 3402.Processing device 210A (FIG. 2) of computing device 170A may execute theupdated website code, including updated elements 3514, 3516, 3518, and3520, to cause an audible presentation of objects 3408, 3410, 3412 and3416, respectively, where executing the original website code (e.g.,including original elements 3504, 3506, 3508, and 3510) produced only avisual presentation of objects 3408, 3410, 3412 and 3416, respectively.The updated website code thus changes an audible presentation of website3404 at computing device 170A. Concurrent (e.g., simultaneous) withexecuting the website code at computing device 170A, computing device170B may receive the updated code for website 3404 via network 140.Computing device 170A does not have a screen reader installed and/orinvoked for presenting website 3404. Thus, executing the updated websitecode (e.g., including updated elements 3514, 3516, 3518, and 3520)causes a visual presentation of objects 3408, 3410, 3412 and 3416,respectively, that is substantially like the visual presentation ofobjects 3408, 3410, 3412 and 3416 that would be produced by executingthe original (e.g., not updated) website code for website 3404. Theupdates made to the website code thus do not impact the simultaneousdisplay of the website content (e.g., objects 3408, 3410, 3412 and 3416)on other computing devices (e.g., computing device 170B).

According to some embodiments, updating the website code includesassociating the plurality of elements with attributes for enablinginteraction with the multiple objects displayed on the website. Forexample, before updating the website code, an object may be accessibleto visually abled users who may interact with the object by selectingthe object upon locating the object displayed on the website. However,the object may not be accessible to users who have difficulty locatingthe object (e.g., blind or visually impaired users, photo sensitiveusers, users with poor reception or bandwidth), and thus may not be ableto interact with the object. Updating the website code may add textand/or sounds as attributes to the element associated with the object. Ascreen reader may recite the text and a speaker may play the sound,allowing such users to interact with the object.

For example, and as described earlier, turning to FIG. 35B, updatedelements 3514, 3516, 3518, and 3520 of the website code for website 3404include attributes with descriptive text that may be audibly presentedto user 110A (FIG. 1) by a screen reader. Consequently, user 110A, whois visually impaired, may interact with corresponding images 3408, 3410,3412 and link 3416 displayed on website 3404.

According to some embodiments, an interaction with at least one of themultiple objects displayed on the website includes navigating to the atleast one object and providing an audible description of the at leastone object. For example, a screen reader may audibly describe a websiteto a user by reciting text descripting of each object of the website.For example, the screen reader may advance through a plurality ofobjects of a website by navigating a tree (e.g., a DOM tree) defining ahierarchy for the objects of the website, to ensure that each object isaudibly described to the user.

For example, and as described earlier, turning to FIG. 35B, a screenreader configured with computing device 170A (FIG. 1) may sequentiallyfocus on each of images 3408, 3410, 3412 and link 3416 (e.g., navigateto each object) and audibly describe images 3408, 3410, 3412 and link3416 to user 110A based on the accessibility information added toupdated elements 3514, 3516, 3518, and 3520, respectively.

According to some embodiments, an interaction with at least one of themultiple objects displayed on the website includes executing a functionassociating with the at least one object. For example, some objects maycause actions to be performed upon selecting the object (e.g., playing asong, or adding an item to a shopping cart). The actions may be definedas functions inside the website code, such that selecting the objectcauses the corresponding function (e.g., to play the song or to add theitem to the shopping cart) to be executed.

For example, and as described earlier, turning to FIG. 35B, upon hearingthe audible description for link 3416, user 110A (FIG. 1) may selectlink 3416 (e.g., via a voice command) and navigate to another webpageproviding additional information on testing for Covid-19, therebyinteracting with link 3416 by executing a navigation function associatedwith link 3416.

According to some embodiments, the determined attributes enable the userto interact with the multiple objects displayed on the website usingpredefined keystrokes. For example, the updates to the website code mayadd attributes to objects to accommodate the website for use with anon-visual interface with as a braille keyboard. For example, a firstkeystroke sequence may be defined to play a song and a second keystrokesequence may be defined to halt the playing of the song.

For example, and as described earlier, turning to FIG. 35B, user 110A(FIG. 1) may have access to a braille keyboard configured with inputinterface 240 of computing device 170A. Upon executing the updatedwebsite code for website 3404, a screen reader configured with computingdevice 170A may audibly present the description for images 3408, 3410,and 3412 (e.g., included in the “alt” attributes) and the descriptionfor link 3416 (e.g., included in the “alt” and “role” attributes). User110A may use a first predefined keystroke on the braille keyboard tocause the screen reader to repeat the audio presentation of images 3408,3410, and 3412, and may user a second predefined keystroke on thebraille keyboard to navigate via link 3416.

According to some embodiments, the attributes enable the user tointeract with the multiple objects displayed on the website usingpredefined hand gestures. For example, for example, the updates to thewebsite code may add attributes to objects to accommodate the websitecode for use with a non-visual interface such as gesture recognitionsoftware operative with a camera. For example, a first hand gesture maybe defined to navigate to the bottom of the website and a second handgesture may be defined to return to the top of the website.

For example, and as described earlier, turning to FIG. 35B, computer170A (FIG. 1) may be configured with a camera and gesture recognitionsoftware integrated with input interface 240 of computing device 170A.Upon executing the updated website code for website 3404, a screenreader configured with computing device 170A may audibly present thedescription for images 3408, 3410, and 3412 (e.g., included in the “alt”attributes) and the description for link 3416 (e.g., included in the“alt” and “role” attributes). User 110A may use a first hand gesture tocause the screen reader to repeat the audio presentation of images 3408,3410, and 3412, and may use a second hand gesture to navigate via link3416.

A user with disabilities may search for information using a searchengine and receive results tailored to the user's specific disabilities.The search results may include one or more websites and the websites maybe categorized based on a level of accessibility of the websites. Thesearch results may be presented to the user based on the categorizationthat accounts for the level of accessibility. For example, websites thatmay be more accessible may be displayed at the top of the list of searchresults, while websites that may be less accessible may be displayedtowards the bottom of the list of search results.

Some disclosed embodiments involve providing search results toclient-side computing devices. A client may create a search on acomputing device to obtain an output. A client may create a search queryby providing a term to a search engine to obtain results related to thatterm. A term may be a single word or a string of words. Search resultsmay include a list, catalog, index, table, or any other type of outputcreated by search engines in response to the term. For example, a clientmay provide the term “restaurant” to a search engine. In response, thesearch engine may provide a list of restaurants to the client. A searchengine may be a program that searches for and identifies items in adatabase that correspond to keywords or characters specified by theclient. For example, a search engine may be Google, Yahoo!, Bing, or anyother type of program capable of searching for information in responseto a search query. A search engine may display results on a client-sidecomputing device. A client-side computing device may include a computingdevice used by the client. A client may be a user of a search engine orany other person. A client-side computing device may include a laptop,tablet, phone, desktop computer, hand-held computer, smartphone,smartwatch, smart glasses, or any other type of computing device capableof receiving a search query and performing a search using a searchengine.

Some disclosed embodiments involve receiving information categorizing aplurality of websites. Search results may include an output, forexample, a list of websites, a link to a list of websites, and/or textdefining a category of websites. The websites may be grouped orcategorized together based on information associated with or included inthe websites. The information may include, for example, text, images,sounds, audio, videos, or other types of digital content present on awebsite. Each website from the plurality of websites may be assigned acategory based on the information associated with or included in thewebsite. It is also contemplated that some websites may be included inmore than one grouping and, therefore, may be assigned more than onecategory. The information categorizing a plurality of websites may bereceived by a client-side computing device, a host computer, a server, anetwork, or any other type of device used to receive information. Suchinformation may be received from a website, a server, a network, acomputer, or any other type of device used to send information.

By way of example, websites including audio information may be groupedtogether and may be assigned a category “audio.” As another example,websites including color may be grouped together and may be assigned acategory “color.” As another example, websites including videos may begrouped together and may be assigned a category “video.” By way ofanother example, a website that includes audio information and colorimages may be included in the group of websites that have audio and alsoin the group of websites that have color images. In this case, thewebsite that includes audio information and color images may be assignedtwo categories “audio” and “color.” In some exemplary embodiments, thelist of websites may be ranked based on the information. For example,websites with audio may be ranked higher than websites with text. Insome exemplary embodiments, websites may be categorized alphabetically,in chronological order, by popularity, or by any other type oforganization method. By way of another example, websites may becategorized by subject matter. For example, in response to a searchrequest for “shoes,” shoe vendors may be grouped together in a shoeshopping group, and shoe manufacturers may be grouped separately in amanufacturers group. Similarly, a “shoe” search may result in separategroupings for men's, women's, and children's shoes.

Some disclosed embodiments involve storing in at least one datastructure the information categorizing the plurality of websites. A datastructure consistent with the present disclosure may include anycollection of data values and relationships among them. The data may bestored linearly, horizontally, hierarchically, relationally,non-relationally, uni-dimensionally, multidimensionally, operationally,in an ordered manner, in an unordered manner, in an object-orientedmanner, in a centralized manner, in a decentralized manner, in adistributed manner, in a custom manner, or in any manner enabling dataaccess. By way of non-limiting examples, data structures may include anarray, an associative array, a linked list, a binary tree, a balancedtree, a heap, a stack, a queue, a set, a hash table, a record, a taggedunion, ER model, and a graph. For example, a data structure may includean XML database, an RDBMS database, an SQL database or NoSQLalternatives for data storage/search such as, for example, MongoDB,Redis, Couchbase, Datastax Enterprise Graph, Elastic Search, Splunk,Soft, Cassandra, Amazon DynamoDB, Scylla, HBase, and Neo4J. A datastructure may be a component of the disclosed system or a remotecomputing component (e.g., a cloud-based data structure). Data in thedata structure may be stored in contiguous or non-contiguous memory.Moreover, a data structure, as used herein, does not require informationto be co-located. It may be distributed across multiple servers, forexample, a data structure may be owned or operated by the same ordifferent entities. Thus, the term “data structure” as used herein inthe singular is inclusive of plural data structures.

The stored data may relate to websites and the websites may becategorized based on the stored information, as discussed above. Forexample, a link to each website may be stored in the data structure inassociation with the one or more categories assigned to that website. Itis contemplated that other methods of associating the categories withthe respective websites (e.g., relational tables, or linked tables) maybe employed when storing the information categorizing the plurality ofwebsites. It is also contemplated that in some embodiments the list ofwebsites may be indexed using the one or more categories as a way ofstoring the information categorizing the plurality of websites.

Some disclosed embodiments involve receiving information indicating alevel of accessibility for each of the plurality of websites. A level ofaccessibility may refer to a degree to which a website address needs ofpersons with disabilities. For example, if a website only addresses somedisabilities, the level of accessibility might be indicated as low. If awebsite addresses all common disabilities, the degree of accessibilitymight be indicated as high. Similarly, within particular disabilities,access levels can range. Websites with more effective tools foraddressing a particular disability may receive a ranking level higherthan those with lesser effective tools. A ranking system for a level ofaccessibility may be based on discrete levels of accessibility (e.g.,low, mid-low, medium, mid-high, high), or may be based on a continuousranking (e.g., scale of 1-10). Information indicating a level ofaccessibility may be received in a data structure, as described earlier.The information may be derived through manual or automated reviews ofthe websites.

By way of more specific non-limiting examples, certain websites may beeasier to navigate relative to other websites, particularly for userswith disabilities. A website may be deemed accessible if all types ofusers (e.g., those with disability and those without disability) cannavigate and use the website. Additionally, or alternatively, a websitemay be deemed partially accessible if only some types of users cannavigate and use the website. Additionally, or alternatively, a websitemay not be accessible at all if no users can navigate or use thewebsite. Websites may have different levels of accessibility based onwhat types of users can navigate and use a website. For example, awebsite that may be useable by all types of users may have a high levelof accessibility. As another example, a website that may be usable byonly some type of users may have a medium level of accessibility. Asanother example, a website that may not be usable by any user may haveno level of accessibility. Information relating to a website may includethe level of accessibility of the website. Information relating to thelevel of accessibility of a website may be received by a client-sidecomputing device from a website. The client-side computing device mayuse machine learning models to determine what type of information may beavailable on a website to determine the level of accessibility. Forexample, a machine learning model may determine that a website containsaudio. The model may determine that the presence of audio indicates thewebsite is accessible to visually impaired users. As another example, aclient-side computing device may use algorithms to determine the levelof accessibility. For example, an algorithm may determine that a websitecontains contrasting colors. The algorithm may determine that thepresence of contrasting colors indicates the website is accessible tocolorblind users. Alternatively, or additionally, a separate computingdevice may contain a machine learning model or algorithm to determinethe level of accessibility of a website and the separate computingdevice may transmit the information to a client-side computing device.

In some embodiments, the level of accessibility is reflective of whethereach website is disability accessible or disability non-accessible. Asdiscussed previously, a correlation may exist between the level ofaccessibility assigned to a website and the actual accessibility of thewebsite. Thus, the level of accessibility may be said to reflect whethera website is disability accessible or disability non-accessible. Awebsite that is disability accessible may be coded to include featuresmaking it accessible to a user with a particular disability or todifferent users with differing disabilities. For example, a website maybe coded such that it includes a font type that individuals withcognitive disabilities find it easy to read and a font size thatindividuals with visual impairment find it easy to read. In general, adisability accessible website is one that follows a web accessibilitystandard (e.g., WCAG 2.1). A website that is disability non-accessiblemay be coded in a manner that it lacks features that may make itaccessible to a user having any disability A level of accessibility maydescribe whether the website is accessible to users with disabilities,Users with disabilities may be unable to navigate certain websites basedon the nature of the disability. For example, a user with epilepsy maybe unable to navigate a website with flashing colors. As anotherexample, a user who is visually impaired may be unable to navigate awebsite that does not contain any audio. As another example, a user whois colorblind may be unable to navigate a website with certain colors. Awebsite with a high level of accessibility may be accessible to userswith different types of disabilities. An accessible website may be onethat complies with a web standard (e.g., Web Content AccessibilityGuidelines (WCAG) 2.1). For example, a website that provides visual andaudio cues may have a high level of accessibility since a user who isvisually impaired and a user who is hearing impaired may be able tonavigate the website. Therefore, the website may be disabilityaccessible. As another example, a website that provides only textcontent may have a low level of accessibility since a user who isvisually impaired may not be able to navigate the website. Therefore,the website may be disability non-accessible.

In some embodiments, the level of accessibility includes a compositescore associated with a disability accessibility compliancy ranking. Awebsite may be ranked based on a plurality of criteria to determine howaccessible a website is to user's with different disabilities. A scoremay be assigned to the website for each of the criteria on which thewebsite is evaluated. A composite score may be determined for thewebsite based on the individual scores assigned for the differentcriteria. The criteria may include, for example, how many differenttypes of users can navigate the website, how many different types ofdisabilities the website accommodates, how many colors the website uses,how many audio cues the website uses, or any other type of criteria thatdetermines how well the website accommodates one or more types ofdisability. A composite score may use all, some, or one of thesecriterion to determine which websites are the most accessible. Acomposite score may be calculated as a sum, an average, a median, amaximum, or minimum value, or some other statistical or mathematicalcalculation. For example, a website that is accessible to visuallyimpaired users may have a medium composite score, while a website thatis accessibly to visually and hearing-impaired users may have a highcomposite score. A composite score may relate to a disabilityaccessibility compliancy ranking. A disability accessibility compliancyranking may indicate how many different users with different types ofdisabilities are able to navigate a website. A disability accessibilitycompliancy ranking may be determined by a web standard, such as MAG. Forexample, a WCAG Level A ranking may be given to websites that use color.As another example, a WCAG Level AA ranking may be given to websitesthat uses color and has contrast between the colors used. A compositescore may be determined based off the criteria described above and/or adisability compliancy ranking.

Some disclosed embodiments involve storing in the at least one datastructure the information indicating the level of accessibility.Information related to the level of accessibility of a website may bereceived and stored in a data structure in order to retrieve theinformation at a later time. The information may be a composite score,disability compliancy ranking, a level of accessibility or any othertype of information. The information may be stored in a table, as anindex, in association with the website, as a link, in a lookup table, orby another other storage means.

Some disclosed embodiments involve receiving a search query from aparticular client-side computing device. As defined above, a client mayuse a computing device to create a search. A search may use a searchquery. A search query may include a phrase or keyword combination a usermay enter into a search engine provided by the client-side computingdevice. A search query may include a single word or a group of words.Additionally, or alternatively, a search query may include numbers,marks, symbols, images, or any other type of character. A client mayenter a search query into a client-side computing device in order toobtain search results. Thus, for example, the search query may bereceived at a server from the client-side device. The search query maybe received over a network, such as the Internet. Alternatively, thesearch query may be received on the client-side following user input onthe client side. In this alternative, processing of the query, on wholeor in part may occur on the client side.

Some disclosed embodiments involve performing a look up in the datastructure for websites associated with the search query. Performing alook up may involve using the search query to interrogate a datastructure. As discussed, in some disclosed embodiments the datastructure stores information related to websites. When a user enters asearch query, the query term or terms may be compared to storedinformation to find websites that are associated with the search query.Websites that are associated with the search query may include websitesthat contain the exact word, that contain words used in the searchquery, that use similar words to the search query, or that are otherwiseassociable with the search query (e.g., artificial intelligence mayassociate with certain combinations of words). Additionally, oralternatively, websites that are associated with the search query mayinclude websites that contain portions of the word or words used in thesearch query, or some combination of the words used in the search query.In some embodiments, the search engine may also search for websitesbased on synonyms or other words related to the word or words in thesearch query. For example, a user may search for “restaurants.” Inresponse to the search query, the search engine may retrieve, from thedata structure, a list of websites that contain information aboutrestaurants. As another example, a user may search for “doctors nearme.” In response to the search query, the search engine may retrieve,from the data structure, a list of websites that contain informationabout doctors near the user's location.

Some disclosed embodiments involve presenting on the particularclient-side computing device website search results, wherein the websitesearch results include links to websites matching the search query andwherein the website search results are presented in a preferentialmanner that takes into account the level of accessibility of theplurality of websites. Presenting may include sending electronic signalsto the client-side computing device to cause an associated presentationon a display associated with the client-side computing device. Forexample, signals sent to a client-side computing device may result indisplay of website search results relating to the search query. Websitesthat may be associated with the search query, as described above, may bepresented as website search results. The website search results maydisplay the websites in a horizontal list, a vertical list, a numberedlist, a bulleted list, a cloud, or any other type of display formatcapable of displaying an ordered or ranked set of search results. Thelist may include links to the websites. A link may be an HTML objectthat allows a user to click on the object and be taken to a websiteassociated with the link. A link may include words, numbers, characters,or other types of symbols. Within the list, the search results may bepresented in a specific order based on the level of accessibility of thewebsite. For example, a website that may have a high level ofaccessibility may be higher up on the list than a website that has a lowlevel of accessibility. As another example, a website that may beaccessible to a visually and hearing-impaired user may be higher up onthe list than a website that is only accessible to visually impairedusers. It is also contemplated that in addition to the position of thewebsite in the list, a website having a higher level of accessibilitymay be displayed in larger font size, in a different color, withhighlighting, or with other visual or audio cues to indicate that thewebsite has a higher level of accessibility relative to other websitesin the search results.

By way of example, FIG. 37 illustrates an example of a visually impaireduser performing a search query and an accessible website being displayedto the user. For example, as illustrated in FIG. 37, system 3720 mayinclude a website host 3710 communicating with an accessibility servicehost 3719 over communications network 3714. The accessibility servicehost 3719 and the website host may include servers 3718 and 3711 anddata structures 3717 and 3712. The accessibility service host 3719 mayobtain default website display 3713 from website host 3710 and storedefault website display 3713 in data structure 3717. A visually impaireduser 3715 may run a search query on client-side computing deice 3716.Accessibility service host 3719 may perform a look up in data structure3717 for default website displays 3713 associated with the search query.Accessibility service host 3719 may determine which default websitedisplays 3713 may be accessible to visually impaired user 3715.Accessibility service host 3719 may communicate only default websitedisplays 3713 that are also visually impaired accessible websites toclient-side computing device 3716, based on the user's disability.

In some embodiments, presenting the website search results in apreferential manner includes providing an indication of website searchresults associated with disability accessible websites. Accessiblewebsites responsive to the search query may be presented in a specificway. The preferential manner may include an indication that shows thewebsite is disability accessible. The indication may include a position,color, tag, presentation format, order, notation, audible indication,visual indication, or any other types of indication to distinguish awebsite that is disability accessible from websites that are disabilityaccessible to a smaller degree or not at all. Disability non-accessiblewebsites may not include an indication. Providing such an indication mayallow a user to determine which websites are disability accessible andwhich websites are disability non-accessible. Providing an indicationmay include displaying the indication on a presentation on a displayassociated with the client-side computing device. For example, adisability accessible website may be positioned near the top of thesearch result display, while a disability non-accessible website may bepositioned towards the bottom of the search result display. As anotherexample, a disability accessible website may include a check-mark tag,while a disability non-accessible website may include an “x” tag.

In some embodiments, providing an indication includes presenting visualindicators associated with first website search results identifyingaccessible websites, the visual indicators distinguishing the firstwebsite search results from second website search results identifyingnon-accessible websites. In some embodiments, the indication describedabove may include a visual indicator. A visual indicator may includecolor, text, position, icons, or any other type of visual marker. Insome embodiments, a visual indicator may only be associated withaccessible websites. The search results described above may includedisability accessible and disability non-accessible websites. Theaccessible websites may be presented as a group of first search resultsand the non-accessible websites may be presented as a group of secondsearch results so a user may be able to differentiate between accessibleand non-accessible websites. For example, disability accessible websitesmay be grouped into first website search results and disabilitynon-accessible websites may be grouped into second website searchresults. A visual indicator may be used to distinguish the accessiblewebsites from the non-accessible websites. For example, accessiblewebsites may be colored blue and non-accessible websites may be coloredblack. As another example, accessible websites may be in 20 pt. fontwhile non-accessible websites may be in 12 pt. font.

In some embodiments, presenting the website search results in apreferential manner includes ordering the website search results basedat least in part on the level of accessibility of the plurality ofwebsites. Website search results may be displayed to a user in manydifferent ways. A preferential manner may include listing the websitesbased on the websites level of accessibility. A website with a higherlevel of accessibility may be listed higher (e.g., near a top of thelist of websites) than a website with a lower level of accessibility.For example, a website with visual and audio cues may be ordered higher(e.g., near a top of the list of websites) than a website with onlyvisual cues. As another example, a website with visual cues may beordered higher (e.g., near a top of the list of websites) than a websitewith no cues.

In some embodiments, ordering the website search results includesprioritizing website search results associated with accessible websitessuch that first website search results associated with accessiblewebsites are presented ahead of second website search results associatedwith non-accessible websites. As described above, accessible websitesmay be presented as a group of first search results and thenon-accessible websites may be presented as a group of second searchresults. The search results may be presented as a list, such as anumbered, ordered, bulleted, alphabetical, or any other type of list orpresentation style. The first group of website search results (e.g.,results including disability accessible websites) may be presentedbefore the second group of website search results (e.g., resultsincluding disability non-accessible websites). For example, the searchresults may be presented as a numbered list and the first group ofsearch results may be identified with numbers that are smaller while thesecond group of search results may be identified with numbers that arelarger than the numbers used to identify the first group of searchresults. As another example, the search results may be presented as abulleted list and the first search results may appear above the secondsearch results.

In some embodiments, presenting the website search results in apreferential manner includes presenting, in an accessible manner, firstwebsite search results associated with accessible websites and secondwebsite search results associated with non-accessible websites. Websitesearch results may also be provided to a user in an accessible manner.An accessible manner may be a manner that complies with a web standard,e.g., Web Content Accessibility Guidelines (WCAG) 2.1. Providing searchresults in an accessible manner may include providing audio, providingcolor contrast, providing sign language interpretation for audio orvideo content, removing flashing visual media, or by using other typesof accessible means for displaying the websites or the links to thewebsites. For example, a user may be visually impaired, and the websitesearch results may be displayed with audio options for the user to beread the search results. As another example, a user may be color blind,and the website search results may be displayed with a color contrast.

In some embodiments, in response to an indication that a user isvisually impaired, presenting website search results in an accessiblemanner includes providing an audible presentation of text descriptive ofthe website search results and providing an audible presentation oftextual description of an image associated with the website searchresults. A user may indicate that they have a certain disability byclicking a button, using specific presentation styles, using a profileassociated with their account, or by other means. A response may includethe presentation of the website search results changing based on theindication. For example, a user may click a button that says “Visual” toindicate the user is visually impaired. As another example, a user mayenlarge the text of a page to indicate the user is visually impaired. Asanother example, a user may indicate in their profile that they arehearing impaired. The website search results may be displayed in anaccessible manner based on the indication. For example, the user mayindicate they are visually impaired, and the website search results mayinclude a way for the text of the results to be presented audibly.Website search results may include images, text, colors, or other visualelements. Accessible search results may include an audio presentation ofthe images, text, color, or other visual elements of the search results.

Some embodiments include determining that a user of the particularclient-side computing device is associated with a particular disability,and wherein presenting the website search results emphasizes websiteswith accessibility conforming to the particular disability. Determiningmay include deciding that a user of a client-side computing device mayhave a disability. For example, a user may be visually impaired, hearingimpaired, have epilepsy, or may have another type of disability. Aparticular disability of a user may be determined, as described below,based on a user profile, the type of search engine the user selects, thesearch query the user performs, the type of software the user utilizes,or through other means. Certain websites may be more accessible to userswith a specific disability. For example, a website having enlarged textmay be accessible to a visually impaired user. As another example, awebsite having contrasting colors may be accessible to a colorblinduser. As another example, a website may have audio and may be accessibleto a visually impaired user but not accessible to a hearing-impaireduser. A user may run a search query and the website search results maybe ranked based on the user's disability. For example, the websitesearch results may display websites that are accessible to a colorblindperson if a user is colorblind. As another example, the website searchresults may display websites that are accessible to a visually impairedperson if the user is visually impaired.

In some embodiments, the determination that the user is associated witha particular disability is based on a user profile stored in memory. Auser of a client-side computing device may create a profile on thedevice that may be stored in the memory of the device. The profile mayinclude information such as a name of the user, a disability of theuser, website preferences of the user, or any other user information. Auser may run a search query and the website search results may bedisplayed to the user based on the disability information stored in theuser's profile. For example, a user may indicate in their profile thatthe user is visually impaired. Based on the user profile, instead ofpresenting all the websites in the website search results, only websitesthat are accessible to visually impaired users may be presented to theuser.

In some embodiments, the determination that the user is associated witha particular disability is based on the search query. A user of aclient-side computing device may run a search query that indicates theuser's disability. The search query may indicate the user's disabilitybased on the term or terms the user uses in the search query. Forexample, a user may search for “car dealership hearing impaired”indicating that the user is hearing impaired. Based on the search query,instead of presenting all the websites associated with the terms cardealership, only car dealership websites that are accessible to hearingimpaired users may be presented to the user. As another example, a usermay search for “eye doctors near me,” indicating that the user isvisually impaired. Based on the search query, instead of presenting allthe websites in the website search results, only websites that areaccessible to visually impaired users may be presented to the user

In some embodiments, the determination that the user is associated witha particular disability is based on a user selection to invoke adedicated accessible search engine. A user using a client-side computingdevice to run a search query may have the option to pick from differentsearch engines. For example, a user may run a search on Google, Yahoo!,Bing, accessFind, or any other type of search engine. Some searchengines may be disability accessible. A user may choose to run a searchon a search engine that is disability accessible. The user's selectionmay indicate that the user has a particular disability. For example, auser may select the search engine accessFind to run a search query.Selection of the accessFind search engine may indicate that the userwishes to search for only visually impaired accessible websites.Selection of the accessFind search engine may indicate that the user isvisually impaired.

In some embodiments, the determination that the user is associated witha particular disability is based on detection of software running on theparticular client-side computing device. A user may use software to aidin creating a search query. Software may include speech to text, text tospeech, screen reader, accessibility browser extension, keyboard andmouse alternatives, screen magnification, optical character recognition,braille display, eye tracking, or other types of software. The type ofsoftware used to generate the search query may indicate the disabilityof a user. For example, a user may use a speech to text software togenerate the search query. Use of the speech to text software mayindicate the user is visually impaired. As another example, the user mayuse a screen reader to generate the search query. Use of the screenreader may indicate the user is hearing impaired.

Some embodiments include obtaining an indication that a user of theparticular client-side computing device has a particular disability; andpresenting the website search results in a preferential manner thataddresses the particular disability. Obtaining may include receiving anindication that a user may have a specific disability. The websitesearch results may be presented to the user in a manner that takes intoaccount that disability. For example, a user may be visually impaired,and the website search results may be presented in a manner that liststhe visually impaired accessible websites above non-visually impairedaccessible websites. A website that includes a text to audio convertermay be a visually impaired accessible website and may be listed higherthan a website that does not include a text to audio converter. Asanother example, a user may be hearing impaired, and the website searchresults may be presented in a manner that lists the hearing-impairedaccessible websites above non-hearing impaired accessible websites. Awebsite that includes images may be a hearing-impaired accessiblewebsite and may be listed higher than a website that does not includeimages.

In some embodiments, the indication that the user of particularclient-side computing device has a particular disability is based on aninput from an accessibility graphical user interface (GUI). Input froman accessibility GUI may include text, sounds, speech, hand gestures,body gestures, or tactile information. An input from an accessibilityGUI may correlate to a particular disability. For example, a user mayprovide an input by clicking on a speaker icon for the text to beconverted to audio. The input may indicate that the user is visuallyimpaired, and the website search results may be presented in a mannerthat lists the visually impaired accessible websites above non-visuallyimpaired accessible websites. A website that contains audio may be avisually impaired accessible website and may be listed higher than awebsite that does not contain audio. As another example, a user mayprovide an input by clicking on an option to change the color of thetext. The input may indicate that the user is color blind, and thewebsite search results may be presented in a manner that lists thecolorblind accessible websites above non-colorblind accessible websites.A website that includes contrasting colors may be a hearing-impairedaccessible website and may be listed higher than a website that does notinclude contrasting colors.

By way of example, FIG. 38 illustrates an example of website searchresults with an input option for a user to indicate that the user has aparticular disability. As illustrated in FIG. 38, a user may enter termsinto a search query box 3810. For example, a user may enter the searchquery “Online Car Dealers” in the search query box 3810. In response tothe search query, website search results 3812 may be presented to a userwith associated images 3813-3815. For example, as illustrated in FIG.38, the website search results 3812 may include a listing of car dealersin response to the search query “Online Car Dealers.” The results mayalso be accompanied by images of cars as shown in images 3813-3815. Auser may use an input 3811 to indicate the user has a particulardisability. In response, the website search results 3812 may bepresented to the user based on the indication. For example, if the userselects “Visual”, the website search results may be rearranged so onlywebsites that may be accessible by a visually impaired user may bepresented.

In some embodiments, presenting the website search results in apreferential manner that addresses the particular disability includespresenting the website search results in a format addressing theparticular disability by altering default display parameters to conformwith an accessibility profile associated with the particular disability.An accessibility profile may include information on a particulardisability of a user. Website search results may be displayed, usingdefault display parameters, to a user who does not have an accessibilityprofile. In some embodiments, when a user has an associatedaccessibility profile, the display parameters may be adjusted based onthe user's associated accessibility profile. By way of example, displayparameters of website search results may include color, text, images,sound, size, or any other parameter. For example, a user may have aseizure safe accessibility profile and the display parameters of thewebsite search results may be adjusted to exclude flashing lights and/orvideos. As another example, a user may have a vision impaired profileand the display parameters of the website search results may be adjustedto play audio of the text of the search results.

In some embodiments, presenting the website search results in apreferential manner that addresses the particular disability includesdisplaying first search results of websites accessible to the particulardisability and omitting second search results of websites non-accessibleto the particular disability. For example, a user may enter term orterms in a search query and multiple websites may match the searchresults. A user who may have a particular disability may only wish toview the website search results that include websites accessible to thatparticular disability. The website search results may be displayed tothe user so only the websites that are accessible to the user'sdisability are displayed to the user. For example, a user may bevisually impaired. A user may run a search, and only websites that areaccessible to visually impaired users may be presented to the user.Websites that are presented to the user may include websites with audio.As another example, a user may be colorblind. A user may run a search,and only websites that are accessible to colorblind users may bepresented to the user. Websites that are presented to the user mayinclude websites having content in contrasting colors.

In some embodiments, presenting the website search results in apreferential manner includes presenting website search results ofaccessible websites ahead of website search results of non-accessiblewebsites. For example, a user may enter term or terms in a search queryand multiple websites may match the search results. A user who may havea particular disability may wish to view website search results thatinclude websites accessible to the particular disability before viewingwebsites that are not accessibly to the particular disability. Thewebsite search results obtained in response to the search query may bedisplayed to the user, so the accessible websites are presented before(e.g., nearer the top of the list of websites) the non-accessiblewebsites. For example, a user may be visually impaired. A user may run asearch, and websites that are accessible to visually impaired users maybe presented to the user ahead of websites that are non-accessible tovisually impaired users. For example, the search may contain tenwebsites. Four of those websites may be accessible to visually impairedusers. The four websites that may be accessible to visually impairedusers may be shown ahead of the remaining six websites that are notaccessible to visually impaired users. As another example, a user may becolorblind. A user may run a search, and websites that are accessible tocolorblind users may be presented to the user ahead of websites that arenon-accessible to colorblind users. For example, the search may containfive websites. Three of those websites may be accessible to colorblindusers. The three websites that may be accessible to colorblind users maybe shown ahead of the remaining two websites that are not accessible tocolorblind users.

FIG. 39 illustrates a flow chart of an exemplary method 3910 that may beexecuted by a processor to perform operations for providing searchresults to client-side computing devices. Method 3910 may include a step3911 of receiving information categorizing a plurality of websites.Method 3910 may also include a step 3912 of storing in at least one datastructure the information categorizing the plurality of websites.Further, method 3910 may include a step 3913 of receiving informationindicating a level of accessibility for each of the plurality ofwebsites. Method 3910 may also include a step 3914 of storing in the atleast one data structure the information indicating the level ofaccessibility. Further method 3910 may also include a step 3915 ofreceiving a search query from a particular client-side computing device.Method 3910 may include a step 3916 of performing a look up in the datastructure for websites associated with the search terms. Method 3910 mayinclude a step 3917 of presenting on the particular client-sidecomputing device website search results, wherein the website searchresults include links to websites matching the search query and whereinthe website search results are presented in a preferential manner thattakes into account the level of accessibility of the plurality ofwebsites.

Unless otherwise defined, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skill inthe art. The materials, methods, and examples provided herein areillustrative only and not intended to be limiting.

Implementation of the method and system of the present disclosure mayinvolve performing or completing certain selected tasks or stepsmanually, automatically, or a combination thereof. Moreover, accordingto actual instrumentation and equipment of preferred embodiments of themethod and system of the present disclosure, several selected steps maybe implemented by hardware (HW) or by software (SW) on any operatingsystem of any firmware, or by a combination thereof. For example, ashardware, selected steps of the disclosure could be implemented as achip or a circuit. As software or algorithm, selected steps of thedisclosure could be implemented as a plurality of software instructionsbeing executed by a computer using any suitable operating system. In anycase, selected steps of the method and system of the disclosure could bedescribed as being performed by a data processor, such as a computingdevice for executing a plurality of instructions.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), and theInternet. The computing system can include clients and servers. A clientand server are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While certain features of the described implementations have beenillustrated as described herein, many modifications, substitutions,changes and equivalents will now occur to those skilled in the art. Itis, therefore, to be understood that the appended claims are intended tocover all such modifications and changes as fall within the scope of theimplementations. It should be understood that they have been presentedby way of example only, not limitation, and various changes in form anddetails may be made. Any portion of the apparatus and/or methodsdescribed herein may be combined in any combination, except mutuallyexclusive combinations. The implementations described herein can includevarious combinations and/or sub-combinations of the functions,components and/or features of the different implementations described.

The foregoing description has been presented for purposes ofillustration. It is not exhaustive and is not limited to the preciseforms or embodiments disclosed. Modifications and adaptations of theembodiments will be apparent from consideration of the specification andpractice of the disclosed embodiments. For example, the describedimplementations include hardware and software, but systems and methodsconsistent with the present disclosure may be implemented as hardwarealone.

It is appreciated that the above-described embodiments can beimplemented by hardware, or software (program codes), or a combinationof hardware and software. If implemented by software, it can be storedin the above-described computer-readable media. The software, whenexecuted by the processor can perform the disclosed methods. Thecomputing units and other functional units described in the presentdisclosure can be implemented by hardware, or software, or a combinationof hardware and software. One of ordinary skill in the art will alsounderstand that multiple ones of the above-described modules/units canbe combined as one module or unit, and each of the above-describedmodules/units can be further divided into a plurality of sub-modules orsub-units.

The block diagrams in the figures illustrate the architecture,functionality, and operation of possible implementations of systems,methods, and computer hardware or software products according to variousexample embodiments of the present disclosure. In this regard, eachblock in a flowchart or block diagram may represent a module, segment,or portion of code, which includes one or more executable instructionsfor implementing the specified logical functions. It should beunderstood that in some alternative implementations, functions indicatedin a block may occur out of order noted in the figures. For example, twoblocks shown in succession may be executed or implemented substantiallyconcurrently, or two blocks may sometimes be executed in reverse order,depending upon the functionality involved. Some blocks may also beomitted. It should also be understood that each block of the blockdiagrams, and combination of the blocks, may be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or by combinations of special purpose hardware and computerinstructions.

In the foregoing specification, embodiments have been described withreference to numerous specific details that can vary from implementationto implementation. Certain adaptations and modifications of thedescribed embodiments can be made. Other embodiments can be apparent tothose skilled in the art from consideration of the specification andpractice of the invention disclosed herein. It is intended that thespecification and examples be considered as example only, with a truescope and spirit of the invention being indicated by the followingclaims. It is also intended that the sequence of steps shown in figuresare only for illustrative purposes and are not intended to be limited toany particular sequence of steps. As such, those skilled in the art canappreciate that these steps can be performed in a different order whileimplementing the same method.

It will be appreciated that the embodiments of the present disclosureare not limited to the exact construction that has been described aboveand illustrated in the accompanying drawings, and that variousmodifications and changes may be made without departing from the scopethereof. And other embodiments will be apparent to those skilled in theart from consideration of the specification and practice of thedisclosed embodiments disclosed herein. It is intended that thespecification and examples be considered as exemplary only, with a truescope and spirit of the disclosed embodiments being indicated by thefollowing claims.

Moreover, while illustrative embodiments have been described herein, thescope includes any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations or alterations based on the presentdisclosure. The elements in the claims are to be interpreted broadlybased on the language employed in the claims and not limited to examplesdescribed in the present specification or during the prosecution of theapplication. These examples are to be construed as non-exclusive.Further, the steps of the disclosed methods can be modified in anymanner, including by reordering steps or inserting or deleting steps. Itis intended, therefore, that the specification and examples beconsidered as exemplary only, with a true scope and spirit beingindicated by the following claims and their full scope of equivalents.

1-40. (canceled)
 41. A non-transitory computer readable mediumcontaining instructions that when executed by at least one processorcause the at least one processor to perform operations for causingdisability-related changes in website presentations across multiplebrowsing sessions, the operations comprising: during a first websitebrowsing session having an associated set of default values for displayparameters, receiving a web accessibility profile selection associatedwith a particular disability, the web accessibility profile selectionhaving an associated set of disability profile values for the displayparameters, the disability profile values differing from the defaultvalues; based on the web accessibility profile selection, changing thedefault values for the display parameters to the disability profilevalues to thereby cause, during the first website browsing session, thewebsite to be accessible to a user with the particular disability;causing to be stored in memory in association with the user, the webaccessibility profile selection; during a second website browsingsession of the user, performing a lookup in memory of the webaccessibility profile selection of the user; and applying the webaccessibility profile selection during the second website browsingsession to thereby cause the second website browsing session to beaccessible to the user with the particular disability.
 42. Thenon-transitory computer readable medium of claim 41, wherein during thesecond website browsing session, a display of the website isautomatically modified to conform with the particular disability of theuser without manually receiving a selection of the web accessibilityprofile during the second website browsing session.
 43. Thenon-transitory computer readable medium of claim 41, wherein the firstwebsite browsing session and the second website browsing session involvethe same website.
 44. The non-transitory computer readable medium ofclaim 43, wherein applying the web accessibility profile selectionduring the first website browsing session changes a first visualpresentation displayed on the website, and applying the webaccessibility profile selection during the second website browsingsession changes a second visual presentation of displayed on thewebsite.
 45. The non-transitory computer readable medium of claim 41,wherein the first website browsing session and the second websitebrowsing session involve differing websites.
 46. The non-transitorycomputer readable medium of claim 45, wherein applying the webaccessibility profile selection during the first website browsingsession changes a first visual presentation of the first website, andapplying the web accessibility profile selection during the secondwebsite browsing session changes a second visual presentation of thesecond website.
 47. The non-transitory computer readable medium of claim41, wherein the memory is associated with a computing device used by theuser to access the website.
 48. The non-transitory computer readablemedium of claim 41, wherein the memory is associated with a remoteserver configured to store web accessibility profiles of multiple users.49. The non-transitory computer readable medium of claim 41, wherein theoperations further include, during the first website browsing session,receiving a profile customization selection to personalize apresentation of the website and thereby address specific accessibilityneeds of the user, and applying the web accessibility profile selectionand the profile customization selection during the second websitebrowsing session.
 50. The non-transitory computer readable medium ofclaim 49, wherein the profile customization selection is configured tocause a supplemental change in a display parameter included in a groupof display parameters associated with the selected web accessibilityprofile.
 51. The non-transitory computer readable medium of claim 49,wherein the profile customization selection is configured to cause asupplemental change in a display parameter excluded from a group ofdisplay parameters associated with the selected web accessibilityprofile.
 52. The non-transitory computer readable medium of claim 41,wherein the web accessibility profile selection is associated with atleast a first predefined value of a first display parameter addressing afirst aspect of the particular disability of the user and a secondpredefined value of a second display parameter addressing a secondaspect of the particular disability of the user.
 53. The non-transitorycomputer readable medium of claim 41, wherein during the second websitebrowsing session and prior to applying the web accessibility profileselection, the operations further include determining whether a userassociated with the second website browsing session is a same user thatmade the web accessibility profile selection during the first websitebrowsing session.
 54. The non-transitory computer readable medium ofclaim 53, wherein, upon determining that the first and second websitebrowsing sessions are associated with the same user, applying the webaccessibility profile selection without user intervention, and upondetermining that the first and second website browsing session areassociated with different users, apply the associated set of defaultvalues for display parameters.
 55. A method for causingdisability-related changes in website presentations across multiplebrowsing sessions, the method comprising: during a first websitebrowsing session having an associated set of default values for displayparameters, receiving a web accessibility profile selection associatedwith a particular disability, the web accessibility profile selectionhaving an associated set of disability profile values for the displayparameters, the disability profile values differing from the defaultvalues; based on the web accessibility profile selection, changing thedefault values for the display parameters to the disability profilevalues to thereby cause, during the first website browsing session, thewebsite to be accessible to a user with the particular disability;causing to be stored in memory in association with the user, the webaccessibility profile selection; during a second website browsingsession of the user, performing a lookup in memory of the webaccessibility profile selection of the user; and applying the webaccessibility profile selection during the second website browsingsession to thereby cause the second website browsing session to beaccessible to the user with the particular disability.
 56. The method ofclaim 55, wherein the web accessibility profile selected during thefirst website browsing session is a vision impairment profile, andduring the second website browsing session the method includesautomatically increasing content scaling and increasing displayintensity to address accessibility needs of the user.
 57. The method ofclaim 55, wherein the web accessibility profile selected during thefirst website browsing session is a cognitive disability profile andduring the second website browsing session the method includesautomatically highlighting titles and actionable objects to addressaccessibility needs of the user.
 58. The method of claim 55, wherein theweb accessibility profile selected during the first website browsingsession is an epilepsy-safe profile and during the second websitebrowsing session the method includes automatically decreasing displayintensity and limiting animation movement on a display to addressaccessibility needs of the user.
 59. The method of claim 55, wherein theweb accessibility profile selected during the first website browsingsession is a neurodevelopmental disorder profile and during the secondwebsite browsing session the method includes automatically increasingcontent scaling and limiting animation movement on a display to addressaccessibility needs of the user.
 60. A system for enabling a user tocustomize a web accessibility profile, the system comprising: a memoryconfigured to store values of various website display parametersassociated with a plurality of web accessibility profiles; and at leastone processor configured to: during a first website browsing sessionhaving an associated set of default values for display parameters,receive a web accessibility profile selection associated with aparticular disability, the web accessibility profile selection having anassociated set of disability profile values for the display parameters,the disability profile values differing from the default values; basedon the web accessibility profile selection, change the default valuesfor the display parameters to the disability profile values to therebycause, during the first website browsing session, the website to beaccessible to a user with the particular disability; cause to be storedin memory in association with the user, the web accessibility profileselection; during a second website browsing session of the user, performa lookup in memory of the web accessibility profile selection of theuser; and apply the web accessibility profile selection during thesecond website browsing session to thereby cause the second websitebrowsing session to be accessible to the user with the particulardisability. 61-200. (canceled)